/*overlay.js*/



//get the page scroll
var getPageScroll = function(){
	var sx = window.pageXOffset || document.body.scrollLeft || document.documentElement.scrollLeft;
	var sy = window.pageYOffset || document.body.scrollTop || document.documentElement.scrollTop;
	return new Array(sx,sy);
	}
//get the current viewport size
var getViewPortSize = function(){
	var pw = window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth;
	var ph = window.innerHeight || document.documentElement.clientHeight || document.body.clientHeight;
	return new Array(pw,ph);
	}
//get the page size:
var getPageSize = function(){
	var vp = getViewPortSize();
	var pw = document.body.offsetWidth;
	var ph = document.body.offsetHeight;
	//assign viewport size if body size smaller then viewport
	if( vp[0]>pw )
		pw = vp[0];
	if( vp[1]>ph )
		ph = vp[1];
	return new Array(pw,ph);
	}
var adjustPosition = function(){
	var pageSize = getViewPortSize();
	var ps = getPageScroll();
	var h = $('#jBox')[0].offsetHeight;
	var w = $('#jBox')[0].offsetWidth;
	var cX = Math.round(pageSize[0]/2)-Math.round(w/2)+ps[0];
	var cY = Math.round(pageSize[1]/2)-Math.round(h/2)+ps[1];
	$('#jBox').css({left:cX+'px',top:cY+'px'});
	}
var fadeTimeout;
var fadeFunction = function(){
	clearInterval( fadeTimeout );
	if( $('#jOverlay') ){ 
		$('#jOverlay').fadeOut('slow');
		}
	if( $('#jBox') ){
		$('#jBox').fadeOut('slow');
		//new Effect.BlindUp('jBox', { duration: 0.5 });
		}
	}
//remove the overlay
var removeOverlay = function(timeout){
	fadeTimeout = setInterval(fadeFunction, timeout?timeout:1000 );
	}
var createOverlay = function(p){
	if(typeof jQuery == 'undefined'){
		//alert('jQuery not loaded!');
		return;
		}
	this.title = p.title?p.title:'Attention';
	this.msg = p.msg?p.msg:'msg: ';
	this.errCode = p.errCode?p.errCode:0;
	this.onClose = p.onClose?p.onClose:function(){};
	this.opacity = p.opacity?p.opacity:0.5;
	//remove previous overlay
	$('#jOverlay').remove();
	$('#jBox').remove();
	
	var jBody = $("body")[0];
	var jOverlay = document.createElement("div");
	jOverlay.setAttribute('id','jOverlay');	
	jBody.appendChild(jOverlay);
	$('#jOverlay').css({position:'absolute',zIndex:98,left:0,top:0,width:'100%',height:getPageSize()[1]+'px',opacity:0});
	//$('#jOverlay').html('test div');
	if( this.errCode ) $('#jOverlay').addClass('jError');
	else $('#jOverlay').addClass('jSuccess');
	var jBox = document.createElement("div");
	jBox.setAttribute('id','jBox');
	jBody.appendChild(jBox);
	//set the msg of the center container
	$('#jBox').html('<div class="popupBox">\
		<a id="jClose" return false;" title="close"><b>close</b></a>\
		<h3>'+this.title+'</h3>\
		<div>'+this.msg+'</div>\
	</div>');
	$('#jBox').css({position:'absolute',left:0,top:0,height:'auto',opacity:0,zIndex:99});
	adjustPosition();
	$(window).keydown(function(e){
		if(e.which == 27)
			fadeFunction();
		});
	$('#jClose').click(fadeFunction);
	$('#jClose').click(this.onClose);
	$(window).scroll(adjustPosition);
	$(window).resize(adjustPosition);
	$('#jOverlay').fadeTo('slow',this.opacity);
	$('#jBox').fadeTo('slow',1.0);
	}
/*overlay.js*/


//post a form by ajax
/*parameters:
button: the button that triger the ajax call. it will hide the button while success returns (optional if custom handler function provided)
updateContainer: the container where to put hte ajax response (optional if custom handler function provided)
beforeSend: function to run before send
onSuccess: function to handle the successfull request it will pass (msg,status of the request) as argument
*/
var cAjaxForm = function(o){
	myAjax = new Object;
	myAjax.button = o.button;
	myAjax.updateContainer= o.updateContainer;
	myAjax.beforeSend = o.beforeSend?o.beforeSend:function(){ $(myAjax.button).css('visibility','hidden'); };
	myAjax.onSuccess = o.onSuccess?o.onSuccess:function(msg,status){ $(myAjax.updateContainer).html(msg); $(myAjax.button).css('visibility','visible');};
	myAjax.form = o.form?o.form:'';
	if( myAjax.form ){
		$.ajax({
				type: $(myAjax.form)[0].method,
				url: $(myAjax.form)[0].action ,
				data: $(myAjax.form).serialize(),
				beforeSend: myAjax.beforeSend,
				success: function(msg,status){
						myAjax.onSuccess(msg,status);
						}
			});
		}
	}
	
var cAjaxRequest = function(o){
	myAjax = new Object;
	myAjax.beforeSend =  o.beforeSend?o.beforeSend:function(){};
	myAjax.onSuccess = o.onSuccess?o.onSuccess:function(msg,status){ alert(msg) };
	myAjax.method = o.method?o.method:'GET'
	myAjax.url = o.url;
	myAjax.data = o.data?o.data:'';
	if( myAjax.url ){
		$.ajax({
				type: myAjax.method,
				url: myAjax.url ,
				data: myAjax.data,
				beforeSend: myAjax.beforeSend,
				success: function(msg,status){
						myAjax.onSuccess(msg,status);
						}
			});
		}
	}

var flag=false;
//toggle hide show a div
function toggleHideShow(v,anim,me){
	if( typeof(anim) == 'undefined') anim = 'fast';
	if( $(v).is(":hidden") ){
		if(!flag){
			$('.hideShow h4').after('<br/><br/>');
			flag=true;
		}
		$(me).addClass("close");
		$(me).removeClass("open");
		}
	else{

		$(me).addClass("open");
		
		$(me).removeClass("close");
		}
	
	
	
	$(v).slideToggle(anim,function(){
			$('.hideShow textarea').show();
		});
	}
	


/*cookie controler*/
function createCookie(name,value,days) {
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
		}
	else var expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
	}

function readCookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
		}
	return null;
	}

function eraseCookie(name) {
	createCookie(name,"",-1);
	}

/*cookie controller*/

//clock.js
//Nafiul Alam Chowdhury
var ServerClock = function(obj){
	if(obj.container){
		var container = document.getElementById(obj.container);
		if(container){
			var spliter = (obj.spliter)?obj.spliter:':';
			var timeFormat = (obj.timeFormat)?obj.timeFormat:12;
			var tmp = new Date();
			var type = '';
			var serverTime = (obj.serverTime)?obj.serverTime:tmp.getHours()+spliter+tmp.getMinutes()+spliter+tmp.getSeconds();
			var writeTime = function(){
				var timeArray = serverTime.split(spliter);
				var seconds = parseInt(timeArray[2])+1;
				var minutes = (parseInt(timeArray[1])+Math.floor(seconds/60));
				var hours = (((type=='PM')?12:0)+parseInt(timeArray[0])+Math.floor(minutes/60))%24;
				var tmpHours = hours;
				if(timeFormat==12){
					if(hours>=12){
						tmpHours = tmpHours-12;
						type='PM';
					}else type='AM';
				}
				var seconds = seconds%60;
				var minutes = minutes%60;
				serverTime = tmpHours+spliter+minutes+spliter+seconds;
				container.innerHTML = ((tmpHours<10)?'0'+tmpHours:tmpHours)+spliter+((minutes<10)?'0'+minutes:minutes)+spliter+((seconds<10)?'0'+seconds:seconds)+' '+type;
			};
			setInterval(writeTime,1000);
		}else{
			//alert('Wrong Container Passed');
		}
	}
	else 1;//alert('No Container Passed');
};
//clock.js

//v1.0 flash active content loader
//Copyright 2006 Adobe Systems, Inc. All rights reserved.
function AC_AddExtension(src, ext){
	if (src.indexOf('?') != -1) return src.replace(/\?/, ext+'?'); 
	else return src + ext;
	}

function AC_Generateobj(objAttrs, params, embedAttrs){ 
	var str = '<object ';
	for (var i in objAttrs) str += i + '="' + objAttrs[i] + '" ';
	str += '>';
	for (var i in params) str += '<param name="' + i + '" value="' + params[i] + '" /> ';
	str += '<embed ';
	for (var i in embedAttrs) str += i + '="' + embedAttrs[i] + '" ';
	str += ' ></embed></object>';
	document.write(str);
	}

function AC_FL_RunContent(){
	var ret = AC_GetArgs(  arguments, ".swf", "movie", "clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" , "application/x-shockwave-flash");
	AC_Generateobj(ret.objAttrs, ret.params, ret.embedAttrs);
	}

function AC_SW_RunContent(){
	var ret = AC_GetArgs(  arguments, ".dcr", "src", "clsid:166B1BCA-3F9C-11CF-8075-444553540000" , null );
	AC_Generateobj(ret.objAttrs, ret.params, ret.embedAttrs);
	}

function AC_GetArgs(args, ext, srcParamName, classid, mimeType){
	var ret = new Object();
	ret.embedAttrs = new Object();
	ret.params = new Object();
	ret.objAttrs = new Object();
	for (var i=0; i < args.length; i=i+2){
		var currArg = args[i].toLowerCase();    	
		switch (currArg){	
			case "classid":
			break;
			case "pluginspage":
			ret.embedAttrs[args[i]] = args[i+1];
			break;
			case "src":
			case "movie":	
			args[i+1] = AC_AddExtension(args[i+1], ext);
			ret.embedAttrs["src"] = args[i+1];
			ret.params[srcParamName] = args[i+1];
			break;
			case "onafterupdate":
			case "onbeforeupdate":
			case "onblur":
			case "oncellchange":
			case "onclick":
			case "ondblClick":
			case "ondrag":
			case "ondragend":
			case "ondragenter":
			case "ondragleave":
			case "ondragover":
			case "ondrop":
			case "onfinish":
			case "onfocus":
			case "onhelp":
			case "onmousedown":
			case "onmouseup":
			case "onmouseover":
			case "onmousemove":
			case "onmouseout":
			case "onkeypress":
			case "onkeydown":
			case "onkeyup":
			case "onload":
			case "onlosecapture":
			case "onpropertychange":
			case "onreadystatechange":
			case "onrowsdelete":
			case "onrowenter":
			case "onrowexit":
			case "onrowsinserted":
			case "onstart":
			case "onscroll":
			case "onbeforeeditfocus":
			case "onactivate":
			case "onbeforedeactivate":
			case "ondeactivate":
			case "type":
			case "codebase":
			ret.objAttrs[args[i]] = args[i+1];
			break;
			case "width":
			case "height":
			case "align":
			case "vspace": 
			case "hspace":
			case "class":
			case "title":
			case "accesskey":
			case "name":
			case "id":
			case "tabindex":
			ret.embedAttrs[args[i]] = ret.objAttrs[args[i]] = args[i+1];
			break;
			default:
			ret.embedAttrs[args[i]] = ret.params[args[i]] = args[i+1];
			}
		}
	ret.objAttrs["classid"] = classid;
	if(mimeType) ret.embedAttrs["type"] = mimeType;
	return ret;
	}

/*admin.js*/
try{
	if(typeof jQuery == 'undefined')
		throw 'err:jQuery';
	else{
		var checkUserLogin = function(formName,destination){
			var $F = '#'+formName;
			$('#loginProcess').show();
			if($('#email').val()=='' || $('#email').val()=='Email*:'){
				$('#loginProcess').hide();
				createOverlay({errCode:1,title:'Oops',msg:'Email Required!',onClose:function(){$('#email').focus();}});
				return false;
			}if($('#password').val()=='' || $('#password').val()=='Password*:'){
				$('#loginProcess').hide();
				createOverlay({title:'Oops',errCode:1,msg:'Password Required!',onClose:function(){$('#fakePass1').focus();}}); 
				return false;
			}
			$.ajax({
			   	type: "POST",
			   	url: $($F)[0].action ,
			   	data: $($F).serialize(),
			   
				beforeSend: function(){
					$('#email').attr("disabled","disabled");
					$('#password').attr("disabled","disabled");
					$('#btnAuthenticate ').attr("disabled","disabled");
				},
			   	success: function(msg){
				 	$('#loginProcess').hide();
				 	if(msg=='success') window.location = destination;
				 	else {
				 		createOverlay({errCode:1,title:'Oops',msg:msg});
						$('#email').removeAttr("disabled");
						$('#password').removeAttr("disabled");
						$('#btnAuthenticate ').removeAttr("disabled");
					}
			   	}
			});
		};
		
		var checkPasswordReset = function(destination){
			var $F = $('#passwordRecovery');
			var $B = $('#btnRecover');
			var $E = $('#email1');
			var $R = $('#recoveryProcess');
			$.ajax({
					type:'post',
					url: $F[0].action ,
					data: $F.serialize(),
					beforeSend: function(){
						$R.show();
						$B.attr("disabled","disabled");
						$E.attr("disabled","disabled");
					},
					success: function(msg){
						$R.hide();
						$('#passwordRecoverFeedback').html(msg);
					 	if(msg.search('success')<=0){
							$B.removeAttr("disabled");
							$E.removeAttr("disabled");
						}
					}
				}
			);
		};
	}
}catch($error){
	//if($error == 'err:jQuery') document.write('<div style="color:#f00;font-size:18px">some content may not load for low line speed. hit refresh to load.</div>');
	}
