
/** 
 * @package			Engine
 */

/** 
 * 
 * default engine javascript file. do not change!
 * 
 * @file			default.js
 * @version			v.6.4.0
 * @date			Wednesday, April 28, 2010
 * @author			Rares Dragan
 */


/**
 * YY_findObj()
 * alternative method to find object
 *************************************************************************************************/

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


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

	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=='');
	}


/**
 * Old MM custom functions (probably @deprecated)
 *************************************************************************************************/

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


	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 FF_CheckEmail(field)
 * performs email validation 
 * @param	field = 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 sendmail()
 * keep email safe from email crawlers
 *************************************************************************************************/

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

/**
 * function HC_mailto()
 * 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*$/, "");
	}


/**
 * function FF_CheckEmailNoMsg()
 * performs simple email validation, without error message
 *************************************************************************************************/

	function FF_CheckEmailNoMsg(field) {

		email_address=field.value;

		if (email_address.indexOf("@")==-1 || email_address.indexOf(".")==-1) {
			field.focus();
			return false;
		}
		return true;
	}function ajax_init(){	var xmlHttp;	try	{		// Firefox, Opera 8.0+, Safari		xmlHttp=new XMLHttpRequest();	}	catch (e)	{		// Internet Explorer		try	    {			xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");		}		catch (e)		{			try			{				xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");			}			catch (e)			{				alert("Your browser does not support AJAX!");			}		}	}	return xmlHttp;}function dateIsSpecial(year, month, day) {
	var y = SPECIAL_DATE[year];
	if (!y) return false;

	var m = SPECIAL_DATE[year][month];
	if (!m) return false;
	
	for (var i in m) 
		if (m[i] == day) 
			return true;
	return false;
}

function dateStatusHandler(date, y, m, d) {
	if (dateIsSpecial(y, m, d))
		return "special";
	else
		return false; 
}sfHover = function() {

		var sfEls = document.getElementById("nav").getElementsByTagName("LI");
		for (var i=0; i<sfEls.length; i++) {
			sfEls[i].onmouseover=function() {
			this.className+=" sfhover";
		}
			sfEls[i].onmouseout=function() {
			this.className=this.className.replace(new RegExp(" sfhover\\b"), "");
		}
		}
	}

if (window.attachEvent) window.attachEvent("onload", sfHover);
