/**
* Copyright (c) Jai Kumar
* jai_php@yahoo.com
* These comments header line must be intact, if used
* by anyone
*/
//Get XMLHTTP object
function $GX(handler) {
	var objXMLHttp=null
	if (window.XMLHttpRequest) {
		objXMLHttp=new XMLHttpRequest()
	} else if (window.ActiveXObject) {
		objXMLHttp=new ActiveXObject("Microsoft.XMLHTTP")
	}

	return objXMLHttp
}
//Get DOM element reference by id
function $GE(element) {
	return document.getElementById(element);
}

//Put DOM element disply style
function $GESD(element, value) {
	if ($GE(element) != undefined) {
		$GE(element).style.display = value;
	}
}

//Get element by class name
//return all objects ref in array
function $GEBCN(classname) {
	x = document.body.getElementsByTagName('*');
	var element_array = Array();
	var k = 0;
	for (var i=0; i < x.length; i++) {
	  if ( x[i].className == classname ) {
	  	element_array[k] = x[i];
	  	k++;
	  }
	}
	return element_array;
}

//Fill block of getelement by id used for div
function $BF(blockname, content) {
	if($GE(blockname) != undefined) {
		$GE(blockname).innerHTML = content;
	}
}
//Get form element value, first param is element name and second is optional either form name or number
function $FV(element, form_name_or_number) {
	var form_name_or_number = form_name_or_number || 0; //if no form name or number have been passed then default to 0
	return document.forms[form_name_or_number].elements[element].value;
}
//Function for making url param - serializing a form
//Parameter could be form number or name
function $SF(form_name_or_number) {
	var urlString = '';
	var form_name_or_number = form_name_or_number || 0; //if no form name or number have been passed then default to 0
	for(i=0; i<document.forms[form_name_or_number].elements.length; i++) {
		if(document.forms[form_name_or_number].elements[i].type == 'radio' || document.forms[form_name_or_number].elements[i].type == 'checkbox') {
			if(document.forms[form_name_or_number].elements[i].checked) {
				urlString += document.forms[form_name_or_number].elements[i].name+'='+document.forms[form_name_or_number].elements[i].value+'&';
			}
		} else {
			urlString += document.forms[form_name_or_number].elements[i].name+'='+document.forms[form_name_or_number].elements[i].value+'&';
		}
	}
	return urlString;
}

//Function for finding the key of the selected element
function $KF(formElementName, keyval){
	var someNodeList = $GE(formElementName).getElementsByTagName('option');
	for (var i = 0; i < someNodeList.length; i++) {
    	if(someNodeList[i].value == keyval) {
    		return i;
    	}
	}
}
//Display a div content
function displayContent(divname) {
	$GE(divname).style.display="";
}
//Hide a div content
function hideContent(divname) {
	$GE(divname).style.display="none";
}

function $PPDiv(id,top,left,height,width,zindex,cls){
	var inline = inline || 0;
	var cls = cls || 0;
	$GE(id).style.top = top+'px';
	$GE(id).style.left = left+'px';
	$GE(id).style.width = width+'px';
	$GE(id).style.height = height+'px';
	$GE(id).style.zIndex = zindex;
	$GE(id).style.background = 'skyblue';
	$GE(id).style.position= 'relative';
}

function $Header(XmlHttp,prm){
	XmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	XmlHttp.setRequestHeader('REQUESTED_X_HEADER', 'XmlHttpRequest');
	XmlHttp.send(prm);
}

function switchMenu(obj,path,id) {
	if ( $GE(obj).style.display != "none" ) {
		$GESD(obj,'none');
		$GE(id).src = path+'btn-expand.gif';
	}
	else {
		$GESD(obj,'block');
		$GE(id).src = path+'btn-collape.gif';
	}
}

function $TRIM(sString) {
	while (sString.substring(0,1) == ' ') {
		sString = sString.substring(1, sString.length);
	}
	while (sString.substring(sString.length-1, sString.length) == ' ') {
		sString = sString.substring(0,sString.length-1);
	}
	return sString;
}
function $setPopup(maindiv,body,header,innerdiv,w,h,needOpacity,opacitydiv, l, t){ 
	$GE(maindiv).style.width = (w+50)+'px';
	$GE(maindiv).style.height = (h+50)+'px';
	
	$GE(header).style.width = (w+30)+'px';
	$GE(header).style.height = 30+'px';
	
	$GE(body).style.width = (w+30)+'px';
	$GE(body).style.height = (h+30)+'px';
	
	$GE(innerdiv).style.width = (w-10)+'px';
	
	$GE(maindiv).style.position = 'absolute'; //make sure it must be inline defined to absolute in html also
	$GE(maindiv).style.overflow = 'auto';
	if(needOpacity == 1) {
		if (navigator.appName != 'Microsoft Internet Explorer') {
			$GE(opacitydiv).className = 'parentDisable';
			$GE(opacitydiv).style.height = document.body.clientHeight+'px';
		}
		$GESD(opacitydiv,'block');
	}
	var centerit = 1;
	if (l != undefined) {
		$GE(maindiv).style.left = l+'px';
		$GE(maindiv).style.zIndex = 1000000;
		centerit = 0;
	}
	if (t != undefined) {
		$GE(maindiv).style.zIndex = 1000000;
		$GE(maindiv).style.top = t+'px';
		centerit = 0;
	}
	
	if (centerit == 1) {
		centerTheDiv(maindiv);
	}
}
function close_popup(div){
	$GESD(div,'none');
}

  //////////////////////////
 ///Fading of background///
//////////////////////////

var begcolor__; 			      // STARTING COLOR AS A HEX STRING
var endcolor__;      			  // ENDING COLOR AS A HEX STRING
var steps__=50;                   // TOTAL CHANGE STEPS FROM ONE COLOR TO THE OTHER
var delay__=15;                   // DELAY BETWEEN EACH COLOR CHANGE. LOWER IS FASTER.
var x__;
var divname__;
//*** DO NOT EDIT BEYOND THIS POINT ***\\
var data__=new Array();
var ns4=(document.layers)?true:false;

function colorset(num){
	this.beg=parseInt('0x'+begcolor__.substring(num,num+2));
	this.end=parseInt('0x'+endcolor__.substring(num,num+2));
	this.up=this.startup=(this.end>=this.beg)? true : false;
	this.incr=Math.abs(this.end-this.beg)/steps__;
	this.current=this.beg;
}

function changebg(){
	var color=new Array();
	for(i=1;i<=3; i++){
		(data__[i].up)? data__[i].current+=data__[i].incr : data__[i].current-=data__[i].incr;
		if(data__[i].startup){
			if(data__[i].current>=data__[i].end){ data__[i].up=false; data__[i].current=data__[i].end}
			if(data__[i].current<=data__[i].beg){ data__[i].up=true; data__[i].current=data__[i].beg;} 
		}
		if(!data__[i].startup){
			if(data__[i].current<=data__[i].end){ data__[i].up=true; data__[i].current=data__[i].end}
			if(data__[i].current>=data__[i].beg){ data__[i].up=false; data__[i].current=data__[i].beg}
		}
		color[i]=data__[i].current;
	}
	color[4]=Math.floor(color[1]).toString(16); if(color[4].length==1)color[4]='0'+color[4];
	color[5]=Math.floor(color[2]).toString(16); if(color[5].length==1)color[5]='0'+color[5];
	color[6]=Math.floor(color[3]).toString(16); if(color[6].length==1)color[6]='0'+color[6];
	$GE(divname__).style.backgroundColor='#'+color[4]+color[5]+color[6];
}
//Divid, startcolor, edncolor, must pass color with #
function fadeBackground(dname, scolor, lcolor){
	divname__ = dname;
	if(scolor == undefined) {
		scolor = '#ffff00';
	}
	if(lcolor == undefined) {
		lcolor = '#ffffff';
	}
	begcolor__ = scolor;
	endcolor__ = lcolor;
	for(i=1, j=1;i<=3; i++, j+=2)data__[i] = new colorset(j);
	
	if($GE(dname) != undefined) {
		$GE(dname).style.backgroundColor=begcolor__;
	}
	x__ = setInterval('changebg()',delay__);
	setTimeout("window.clearInterval(x__); $GE(divname__).style.backgroundColor='"+endcolor__+"'; delete(x__); delete(data__); for(i=1, j=1;i<=3; i++, j+=2)data__[i]=new colorset(j);", 850); 
	
}

function getCookie(c_name) {
	if (document.cookie.length>0) {
	  c_start=document.cookie.indexOf(c_name + "=")
	  if (c_start!=-1) { 
	    c_start=c_start + c_name.length+1 
	    c_end=document.cookie.indexOf(";",c_start)
	    if (c_end==-1) c_end=document.cookie.length
	    return unescape(document.cookie.substring(c_start,c_end))
	  } 
	}
	return ""
}
//var pringoo_roller;
//var pringoo_numdiff;
//var pringoo_current_num;
//var pringoo_stepc;
//var pringoo_no_times_looped;
//var pringoo_numdivision = 200;
//var pringoo_delay = 110;
//function pringooRoller(dname, startnumber, endnumber) {
//	pringoo_current_num = startnumber;
//	pringoo_numdiff = startnumber - endnumber;
//	pringoo_stepc = 0;
//	pringoo_no_times_looped = 0;
//	
//	if(pringoo_numdiff >0) {
//		pringoo_stepc = Math.floor(pringoo_numdiff/pringoo_numdivision);
//		pringoo_roller = setInterval('rollthenumber("'+dname+'", '+endnumber+')', pringoo_delay);
//	} else {
//		var tm = Math.abs(pringoo_numdiff);
//		pringoo_stepc = Math.floor(tm/pringoo_numdivision);
//		pringoo_roller = setInterval('rollthenumber("'+dname+'", '+endnumber+')', pringoo_delay);
//	}
//}
//
//function rollthenumber(dname, endnumber) {
//	if(pringoo_numdiff >0) {
//		pringoo_current_num = pringoo_current_num - pringoo_stepc;
//	} else {
//		pringoo_current_num = pringoo_current_num + pringoo_stepc;
//	}
//	pringoo_no_times_looped = pringoo_no_times_looped +1;
//	if (pringoo_no_times_looped != pringoo_numdivision) {
//		$BF(dname, pringoo_current_num);
//	} else {
//		$BF(dname, endnumber);
//		window.clearInterval(pringoo_roller);
//		delete(pringoo_roller);
//	}
//}=======

 //var newsletterformhtml = $GE('newsletterform').innerHTML; 
function newsletter(){ 
    var email = $GE('nwemail').value;
    $BF('newsletterform', '<img src="/image/loading_small.gif">');
	
    var url = '/ajax_controller';
	var prm = 'provider=newsletter&email='+email; 
	XmlHttp = $GX();
	XmlHttp.onreadystatechange=Checkmail;
	XmlHttp.open("POST",url,false);
	$Header(XmlHttp,prm);
	
}


function Checkmail(){
	if (XmlHttp.readyState == 4 || XmlHttp.readyState == "complete") {
		var result = eval('(' + XmlHttp.responseText+ ')');
		$BF('newsletterform', newsletterformhtml);
	    if(result.success == 1) {
	        alert(result.message);
		} else {
		    alert(result.message);
            $GE("email").value = '' ;
		}
	}
}
function clearbox() { 
    $GE('nwemail').value = '';
}
function setIETopBar(){
	if(navigator.appName != "Microsoft Internet Explorer"){
		$GE('topimg1').style.marginTop= '-8px';
		$GE('topimg2').style.marginTop= '-8px';
		$GE('topimg3').style.marginTop= '-8px';
	}
	if(navigator.appName == "Microsoft Internet Explorer"){
		$GE('footer').style.marginTop = '50px';
	}
}

function writeConsole(content,width,height,wintitle) {
	OpenWindow=window.open("", "newwin", "height="+height+", width="+width+",toolbar=no,scrollbars=1,resizable=1,menubar=no");
	OpenWindow.document.write("<TITLE>"+wintitle+"</TITLE>")
	OpenWindow.document.write("<BODY>")
	OpenWindow.document.write(content);
	OpenWindow.document.write("</BODY>")
	OpenWindow.document.write("</HTML>")
	if (window.focus) {OpenWindow.focus();}
	OpenWindow.document.close()
	self.name="main"
}


//http://www.thescripts.com/forum/thread90674.html
var windowState = (	function(){
var readScroll = {scrollLeft:0,scrollTop:0};
var readSize = {clientWidth:0,clientHeight:0};
var readScrollX = 'scrollLeft';
var readScrollY = 'scrollTop';
var readWidth = 'clientWidth';
var readHeight = 'clientHeight';
function otherWindowTest(obj){
if((document.compatMode)&&
(document.compatMode == 'CSS1Compat')&&
(document.documentElement)){
return document.documentElement;
}else if(document.body){
return document.body;
}else{
return obj;
}
};
if((typeof this.innerHeight == 'number')&&
(typeof this.innerWidth == 'number')){
readSize = this;
readWidth = 'innerWidth';
readHeight = 'innerHeight';
}else{
readSize = otherWindowTest(readSize);
}
if((typeof this.pageYOffset == 'number')&&
(typeof this.pageXOffset == 'number')){
readScroll = this;
readScrollY = 'pageYOffset';
readScrollX = 'pageXOffset';
}else{
readScroll = otherWindowTest(readScroll);
}
return {
getScrollX:function(){
return (readScroll[readScrollX]||0);
},
getScrollY:function(){
return (readScroll[readScrollY]||0);
},
getWidth:function(){
return (readSize[readWidth]||0);
},
getHeight:function(){
return (readSize[readHeight]||0);
}
};
})();

function centerTheDiv(divid) {
	var viewPortWidth = windowState.getWidth();
	var viewPortHeight = windowState.getHeight();
	var horizontalScroll = windowState.getScrollX();
	var verticalScroll = windowState.getScrollY();
	var divWidth = parseInt($GE(divid).style.width);
	var divHeight = parseInt($GE(divid).style.height); 
	var hPos = Math.round(horizontalScroll+((viewPortWidth-divWidth)/2));
	var vPos = Math.round(verticalScroll+((viewPortHeight-divHeight)/2));
	hPos = (hPos < 0)?0:hPos;
	vPos = (vPos < 0)?0:vPos;
	//var positionMod = (typeof $GE(divid).top == 'string')?"px":0;
	$GE(divid).style.zIndex = 1000000;
	$GE(divid).style.top = vPos + 'px';
	$GE(divid).style.left = hPos + 'px';
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function textCounter(field,cntfield,maxlimit) {
	if (field.value.length > maxlimit) { // if too long...trim it!
		field.value = field.value.substring(0, maxlimit);
		// otherwise, update 'characters left' counter
	} else {
		$GE(cntfield).value = maxlimit - field.value.length;
	}
}
function validateemail() { 
	$GE('newsletterbuttonfor').src = '/image/loading_small.gif';
	var email = $GE('newsletteremailfor').value;
	var url = '/ajax_controller';
	var prm = 'provider=addnewsletter&email='+email; 
	var XmlHttp = $GX();
	XmlHttp.onreadystatechange=function Checkmail(){
		if (XmlHttp.readyState == 4 || XmlHttp.readyState == "complete") {
			var result = eval('(' + XmlHttp.responseText+ ')');		
		    if(result.success == 1) {
		        alert(result.message);
			} else {
			    alert(result.message);    
			    $GE('newsletteremailfor').value = '';     
			}
			$GE('newsletterbuttonfor').src = '/image/button-submit.gif';
		}
	}
	XmlHttp.open("POST",url,true);
	$Header(XmlHttp,prm);
}

function showHelpWindow(url,w, h) {
	window.open(url,'HelpWindow','width='+w+',height='+h+',toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,copyhistory=no,resizable=yes');
}

String.prototype.trim = function() {
// Strip leading and trailing white-space
return this.replace(/^\s*|\s*$/g, "");              
}
function show(val){    
    var id=val; 
    var cond=$GE(id).style.display;
    if(cond=='none'){  
      $GESD(id,'block');
      id=id+'plus';
      $GE(id).src='/image/minus.gif';
    }else{
      $GESD(id,'none');
      id=id+'plus';
      $GE(id).src='/image/plus.gif';
    }
    
}
// make div lay over center
function divCenter(dvid) {
	$GESD(dvid, 'block');	
	var divwidth = document.getElementById(dvid).style.width;
	var divheight = document.getElementById(dvid).style.height;
	var winwidth, winheight, positionx, positiony, scrollx, scrolly;
	if (navigator.appName == 'Microsoft Internet Explorer') {
		winwidth = document.body.clientWidth;
		winheight = document.body.clientHeight;
	}
	
	if (navigator.appName != 'Microsoft Internet Explorer') { 
		winwidth = window.innerWidth;		
		winheight = window.innerHeight;		
	}
	divwidth = divwidth.replace('px','');
	divheight = divheight.replace('px','');	
	
	scrollx = document.body.scrollLeft;
	scrolly = Math.max(document.body.scrollTop,document.documentElement.scrollTop);
	//scrolly = document.body.scrollTop;
	
	positionx = Math.round((winwidth-divwidth)/2)+scrollx;
	positiony = Math.round((winheight-divheight)/2)+scrolly;

	document.getElementById(dvid).style.position = "absolute";
	document.getElementById(dvid).style.left = positionx+'px';
	document.getElementById(dvid).style.top = positiony+'px';
}

//To disable right click
//function clickIE4(){if (event.button==2){return false;}}
//function clickNS4(e){if (document.layers||document.getElementById&&!document.all){if (e.which==2||e.which==3){return false;}}}
//if (document.layers){document.captureEvents(Event.MOUSEDOWN);document.onmousedown=clickNS4;}else if (document.all&&!document.getElementById){document.onmousedown=clickIE4;}
//document.oncontextmenu=new Function("return false")