
/**** main.js
	* ---
	* v.1.2.5
	* Thursday, May 31, 2007
	* ---
	**********************************************************************************************/


/****
	* YY_checkform()
	* ---
	* performs form validation
	**********************************************************************************************/

	function YY_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 YY_checkform() { //v4.71.HC
	// copyright (c)1998,2002 Yaromat.com
	// updated Friday, July 21, 2006 by Rares Dragan
	  var a=YY_checkform.arguments,oo=true,v='',s='',err=false,r,o,at,o1,t,i,j,ma,rx,cd,cm,cy,dte,at;
	  for (i=1; i<a.length;i=i+4){
		if (a[i+1].charAt(0)=='#'){r=true; a[i+1]=a[i+1].substring(1);}else{r=false}
		o=YY_findObj(a[i].replace(/\[\d+\]/ig,""));
		o1=YY_findObj(a[i+1].replace(/\[\d+\]/ig,""));
		v=o.value;t=a[i+2];
		if (o.type=='text'||o.type=='password'||o.type=='hidden'){
		  if (r&&v.length==0){err=true}
		  if (v.length>0)
		  if (t==1){ //fromto
			ma=a[i+1].split('_');if(isNaN(v)||v<ma[0]/1||v > ma[1]/1){err=true}
		  } else if (t==2){
			rx=new RegExp("^[\\w\.=-]+@[\\w\\.-]+\\.[a-zA-Z]{2,4}$");if(!rx.test(v))err=true;
		  } else if (t==3){ // date
			ma=a[i+1].split("#");at=v.match(ma[0]);
			if(at){
			  cd=(at[ma[1]])?at[ma[1]]:1;cm=at[ma[2]]-1;cy=at[ma[3]];
			  dte=new Date(cy,cm,cd);
			  if(dte.getFullYear()!=cy||dte.getDate()!=cd||dte.getMonth()!=cm){err=true};
			}else{err=true}
		  } else if (t==4){ // time
			ma=a[i+1].split("#");at=v.match(ma[0]);if(!at){err=true}
		  } else if (t==5){ // check this 2
				if(o1.length)o1=o1[a[i+1].replace(/(.*\[)|(\].*)/ig,"")];
				if(!o1.checked){err=true}
		  } else if (t==6){ // the same
				if(v!=YY_findObj(a[i+1]).value){err=true}
		  }
		} else
		if (!o.type&&o.length>0&&o[0].type=='radio'){
			  at = a[i].match(/(.*)\[(\d+)\].*/i);
			  o2=(o.length>1)?o[at[2]]:o;
		  if (t==1&&o2&&o2.checked&&o1&&o1.value.length/1==0){err=true}
		  if (t==2){
			oo=false;
			for(j=0;j<o.length;j++){oo=oo||o[j].checked}
			if(!oo){s+='* '+a[i+3]+'\n'}
		  }
		} else if (o.type=='checkbox'){
		  if((t==1&&o.checked==false)||(t==2&&o.checked&&o1&&o1.value.length/1==0)){err=true}
		} else if (o.type=='select-one'||o.type=='select-multiple'){
		  if(t==1&&o.selectedIndex/1==0){err=true}
		}else if (o.type=='textarea'){
		  if(v.length<a[i+1]){err=true}
		}
		if (err){s+='* '+a[i+3]+'\n'; err=false}
	  }
	  if (s!=''){alert('The required information is incomplete or contains errors:\t\t\t\t\t\n\n'+s)}
	  document.MM_returnValue = (s=='');
	}




/****
	* MM CUSTOM FUNCTIONS
	**********************************************************************************************/

	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_showHideLayers() { //v6.0 
	  var i,p,v,obj,args=MM_showHideLayers.arguments; 
	  for (i=0; i<(args.length-2); i+=3) if ((obj=MM_findObj(args[i]))!=null) { v=args[i+2]; 
		if (obj.style) { obj=obj.style; v=(v=='show')?'visible':(v=='hide')?'hidden':v; } 
		obj.visibility=v; } 
	}


	function MM_displayStatusMsg(msgStr) { //v1.0
	  status=msgStr;
	  document.MM_returnValue = true;
	}

	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 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_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];}
	}




/****
	* HC CUSTOM FUNCTIONS
	**********************************************************************************************/


	// Jumping to other parts of the site using the footer select

	function changePage(userChoice) {

		var newPage = userChoice.options[userChoice.selectedIndex].value ;
		if (newPage!=" ") {
			document.location.href = newPage;
		}
	}


	function MM_showHideLayers2() {
		
	// toggle obect.style.display between 'block' and 'none'
	// use: showHideLayers(object,'','show',object2,'','hide');

	  var i,p,v,obj,args=MM_showHideLayers2.arguments; 
	  for (i=0; i<(args.length-2); i+=3) if ((obj=MM_findObj(args[i]))!=null) { v=args[i+2];
		v=(v=='show')?'block':(v=='hide')?'none':'';
		if (obj.style) { obj=obj.style;}
		obj.display=v;
		} 
	} 


	function MY_swapImage(id,im) {
		img=MM_findObj(id);
		if (img!=null) img.src=im;
	}

	function MY_swapBackground(id, img_name) {
		eval("document.all."+id+".background=img_name;");
	}


	function MY_findObj(id) {
		return document.getElementById(id);
	}

	function sendmail(email,domain,subject) {
		document.location="mailto:"+email+"@"+domain+"?subject="+subject;
	}

	function CheckReceiverAddress(address, no_splits) {
		address_length=address.length+0.0;
		if (address_length<=25) {
			//alert(address.length);
			no_splits=no_splits+0.0;
			if (no_splits<2)
				return true;
			else {
				//the address is too long
				return false;
			}
		}
		else {
			pos=-1;
			do {
				last_pos=pos+1;
				pos=address.indexOf(" ", last_pos);	
			}
			while (pos<25 && pos>-1);
			//alert(last_pos);
			if (last_pos==0) {
				//we have a word longer than 25 caracters
				return false;
			}
			else {
				address=address.substr(last_pos);
				return CheckReceiverAddress(address, no_splits+1);
			}
		}
		return true;
	}


/****
	* function FF_CheckEmail(field)
	* ---
	* performs email validation 
	* field is something like: document.newsletter_form.newsletter_email
	* ---
	**********************************************************************************************/

	function FF_CheckEmail(field) {

		email_address=field.value;

		if (email_address.indexOf("@")==-1 || email_address.indexOf(".")==-1) {
			alert("The e-mail address you supplied does not seem to be correct.\nPlease check it!");
			field.focus();
			return false;
		}
		return true;
	}


/****
	* function HC_mailto()
	* ---
	* Wednesday, May 02, 2007
	* performs SPAM safe mailto:
	* ---
	**********************************************************************************************/

	function HC_mailto(sUser, sDomain, sSubject, sBody) {

		mailto = 'mailto:' + escape(sUser) + '@' + escape(sDomain);

		if (sSubject != undefined) {
			 mailto += '?subject=' + escape(sSubject);
		}

		if (sBody != undefined) {
			mailto += '&body=' + escape(sBody);
		}
		
		location.href = mailto;
	}

/****
	* function string.trim()
	* ---
	**********************************************************************************************/

	String.prototype.trim = function () {
		return this.replace(/^\s*/, "").replace(/\s*$/, "");
	}