//s_functions.js

function YY_checkform() { //v4.07
//copyright (c)1998,2001 Yaromat.com
  var args = YY_checkform.arguments,myDot=true,myV='',myErr='',addErr=false,myReq,rx,myObj1,myMa,myAt;
  for (var i=1; i<args.length;i=i+4){
    if (args[i+1].charAt(0)=='#'){myReq=true; args[i+1]=args[i+1].substring(1);}else{myReq=false}
    var myObj = MM_findObj(args[i].replace(/\[\d+\]/ig,""));myV=myObj.value;
    if (myObj.type=='text'||myObj.type=='password'){
      if (myReq&&myObj.value.length==0)addErr=true;
      if ((myV.length>0)&&(args[i+2]==1)){ //fromto
        if (!(myV/1)||myV<args[i+1].split('_')[0]/1||myV > args[i+1].split('_')[1]/1){addErr=true}
      }
      if ((myV.length>0)&&(args[i+2]==2)){ // email
            rx=new RegExp("^[\\w\.=-]+@[\\w\\.-]+\\.[a-z]{2,4}$");if(!rx.test(myV))addErr=true;
          }
      if ((myV.length>0)&&(args[i+2]==3)){ // date
        myMa=args[i+1].split("#");myAt=myV.match(myMa[0]);
        if(myAt){
          var myD=(myAt[myMa[1]])?myAt[myMa[1]]:1; var myM=myAt[myMa[2]]-1; var myY=myAt[myMa[3]];
          var myDate=new Date(myY,myM,myD);
          if(myDate.getFullYear()!=myY||myDate.getDate()!=myD||myDate.getMonth()!=myM){addErr=true};
        }else{addErr=true}
      }
      if ((myV.length>0)&&(args[i+2]==4)){myMa=args[i+1].split("#");myAt=myV.match(myMa[0]);if(!myAt)addErr=true}// time
      if (myV.length>0&&args[i+2]==5){ // check this 2
        var myObj1 = MM_findObj(args[i+1].replace(/\[\d+\]/ig,""));
        if(myObj1.length)myObj1=myObj1[args[i+1].replace(/(.*\[)|(\].*)/ig,"")];
        if(!myObj1.checked)addErr=true;
      }
      if (myV.length>0&&args[i+2]==6){myObj1=MM_findObj(args[i+1]);if(myV!=myObj1.value)addErr=true;}// the same
    }else
    if (!myObj.type&&myObj.length>0&&myObj[0].type=='radio'){
          var myTest = args[i].match(/(.*)\[(\d+)\].*/i);
          var myObj1=(myObj.length>1)?myObj[myTest[2]]:myObj;
      if (args[i+2]==1&&myObj1&&myObj1.checked&&MM_findObj(args[i+1]).value.length/1==0){addErr=true}
      if (args[i+2]==2){
        var myDot=false;
        for(var j=0;j<myObj.length;j++){myDot=myDot||myObj[j].checked}
        if(!myDot){myErr+='* ' +args[i+3]+'\n'}
      }
    }else
    if (myObj.type=='checkbox'){
      if(args[i+2]==1&&myObj.checked==false){addErr=true}
      if(args[i+2]==2&&myObj.checked&&MM_findObj(args[i+1]).value.length/1==0){addErr=true}
    }else
    if (myObj.type=='select-one'||myObj.type=='select-multiple'){
      if(args[i+2]==1&&myObj.selectedIndex/1==0){addErr=true}
    }else
    if (myObj.type=='textarea'){
      if(myV.length<args[i+1]){addErr=true}
    }
    if (addErr){myErr+='* '+args[i+3]+'\n'; addErr=false}
  }
  if (myErr!=''){alert('The required information is incomplete or contains errors:\t\t\t\t\t\n\n'+myErr)}
  document.MM_returnValue = (myErr=='');
}


function findObj(n,d){ 
 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=findObj(n,d.layers[i].document); 
 if(!x && d.getElementById) x=d.getElementById(n); return x; 
}

function submitForm(frm){
	if(typeof(frm)=='string') frm = findObj(frm);
	frm.submit();
}

function fldSetValue(fld,value){
	if(typeof(fld)=='string') fld = findObj(fld);
	if(!fld) return;
	fld.value = value;
}

function GMap_init(mapContainer,glat,glong,zoom){
	if(typeof(mapContainer)=='string') mapContainer = xGetElementById(mapContainer);
    if(!mapContainer){ alert('GMap_init(): An error occurred when starting the GMap. Unable to find mapContainer object.'); return; };
    zoom = (typeof(zoom)!='undefined'&&zoom!=null)?zoom:12;
    if(typeof(GMap)!='undefined'){
    	mapContainer.innerHTML = '';
		var gmap = new GMap(mapContainer,[G_HYBRID_TYPE,G_SATELLITE_TYPE,G_MAP_TYPE]);
		gmap.addControl(new GSmallMapControl());
		//gmap.addControl(new GMapTypeControl());
		if(glat&&glong){
			var gloc = new GPoint(glong,glat);
			gmap.centerAndZoom(gloc, zoom);
		}
		return gmap;
	}else{
		mapContainer.innerHTML = 'Unable to load location map. Unfortunately the service is unavailable.';
		return false;
	}
}

function writePNG(img_url,img_w,img_h,img_alt){
	if(!img_alt) img_alt = '';
	if(navigator.userAgent.indexOf('MSIE')!=-1 && navigator.userAgent.indexOf('Opera')==-1){
		document.write('<div style="display:inline;width:'+img_w+'px;height:'+img_h+'px;filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src=\''+img_url+'\',sizingMethod=\'scale\');"></div>');
	}else{
		document.write('<img src="'+img_url+'" height="'+img_h+'" width="'+img_w+'" alt="'+img_alt+'" />');
	}
}

function Form_Autofocus(){
	var objs = xGetElementsByTagName('input');
	var l=objs.length;
	for(var i=0;i<l;i++){
		var af = objs[i].getAttribute('autofocus');
		var cID = (typeof(objs[i].id)!='undefined')?objs[i].id : '';
		if(!af) continue;
		if(!cID) return;
		if(af.toLowerCase()=='skipvalue'){
			if(typeof(af.value)!='undefined' && af.value){
				continue;
			}else{
				setTimeout('xGetElementById("'+cID+'").focus()',20);
				return;
			}
		}else if(af&&af.toLowerCase()!='false'){
			setTimeout('xGetElementById("'+cID+'").focus()',20);
			return;
		}
	}
}


function Form_CheckDateField(obj){
	if(!obj)return; if(obj.value.length<3){alert(msg);obj.focus();return false; }
	var str=org=obj.value,day,month,year,ps,mnum,len,d=new Date(); 
	var msg='The value \''+org+'\' is not a valid date value. Please provide a date in the format dd-mm-yyyy'; str = str.toLowerCase(); str = str.replace(/_/gi,'-');
	var months_s = new Array('jan','feb','maa','apr','mei','jun','jul','aug','sep','okt','nov','dec');
	var months_l = new Array('januari','februari','maart','april','mei','juni','juli','augustus','september','oktober','november','december');
	var months_s_en = new Array('jan','feb','mar','apr','may','jun','jul','aug','sep','oct','nov','dec');
	var months_l_en = new Array('january','february','march','april','may','june','july','august','september','october','november','december');
	for(var i=0;i<months_s.length;i++){ if(str.indexOf(months_l[i])!=-1){ ps=str.indexOf(months_l[i]); len=str.length;mnum=i+1;str=str.substr(0,ps)+mnum+str.substr(ps+months_l[i].length); }else if(str.indexOf(months_l_en[i])!=-1){ ps=str.indexOf(months_l_en[i]); len=str.length;mnum=i+1;str=str.substr(0,ps)+mnum+str.substr(ps+months_l_en[i].length); }else if(str.indexOf(months_s[i])!=-1){ ps=str.indexOf(months_s[i]); len=str.length;mnum=i+1;str=str.substr(0,ps)+mnum+str.substr(ps+months_s[i].length); }else if(str.indexOf(months_s_en[i])!=-1){ ps=str.indexOf(months_s_en[i]); len=str.length;mnum=i+1;str=str.substr(0,ps)+mnum+str.substr(ps+months_s_en[i].length); } str = str.replace(/ /gi,'-'); str = str.replace(/--/gi,'-'); }
	var dp=str.split(/[.\/-]/gi); if(dp.length==3){day=Number_makeInt(dp[0]); month=Number_makeInt(dp[1]);year=Number_makeInt(dp[2]);}else if(dp.length==2){day=Number_makeInt(dp[0]); month=Number_makeInt(dp[1]);year=d.getFullYear();}else{day=Number_makeInt(str.substring(0,2));month=Number_makeInt(str.substring(2,4));year=Number_makeInt(str.substring(4,8));}
	if(year<100&&year>=35)year+=1900;else if(year<100)year+=2000; if(!isNaN(day)&&!isNaN(month)&&!isNaN(year)&&(day>=1&&day<=31)&&(month>=1&&month<=12)&&(year>=1905)&&((month==2&&day<=29)||month!=2)) obj.value=day+'-'+month+'-'+year; else{ obj.value='';	alert(msg); obj.focus(); return false;}
}

function Agent_getLocalTime() {
	var d=new Date(); return Math.round(d.getTime()/1000)+'|'+(d.getTimezoneOffset()*60);
}

function String_colorToHexRGB(v){
	var c,r=0,g=0,b=0;
	var reg_rgbStr = new RegExp(/\(\s*(\d+)s*,\s*(\d+)\s*,\s*(\d+)\s*\)/g);
	var regMatches = reg_rgbStr.exec(v);
	if(regMatches && regMatches.length){
		r=parseInt(regMatches[1]); g=parseInt(regMatches[2]); b=parseInt(regMatches[3]);
	}else if(v.substring(0,1)=='#'){
		c=v.substring(1);
		if(c.length==3){ //HexColor shorthand #fff
			r = c.substring(0,1).toUpperCase();
			g = c.substring(1,2).toUpperCase();
			b = c.substring(2,3).toUpperCase();
			r=parseInt(r+r,16);
			g=parseInt(g+g,16);
			b=parseInt(b+b,16);
		}else if(c.length==6){ //HexColor #ffffff
			r = parseInt(c.substring(0,2).toUpperCase(),16);
			g = parseInt(c.substring(2,4).toUpperCase(),16);
			b = parseInt(c.substring(4,6).toUpperCase(),16);
		}
	}
	r=(r==NaN)?0:r; g=(g==NaN)?0:g; b=(b==NaN)?0:b;
	c = '#'+xHex(r,2)+xHex(g,2)+xHex(b,2);
	return c;
}

function Number_makeInt(str){
	var c = 0; if(str == '0') return 0;
	while(str.length >= 2 && str.charAt(c)=='0') str = str.substring(c + 1,str.length);
	if(str == '0') return 0; return (isNaN(parseInt(str))?0:parseInt(str));
}

//xAddEventListener(window,'load',Form_Autofocus);