
// browser check func used for both global.js and forms.js 
function lib_bwcheck(){
	this.ver=navigator.appVersion;
	this.agent=navigator.userAgent;
	this.dom=document.getElementById?1:0;
	this.opera7=this.agent.indexOf("Opera 7")>-1;
	this.ie5=(this.ver.indexOf("MSIE 5")>-1 && this.dom && !this.opera5)?1:0;
	this.ie6=(this.ver.indexOf("MSIE 6")>-1 && this.dom && !this.opera5)?1:0;
	this.ie4=(document.all && !this.dom && !this.opera5)?1:0;
	this.ie=this.ie4||this.ie5||this.ie6;
	this.mac=this.agent.indexOf("Mac")>-1;
	this.ns6=(this.dom && parseInt(this.ver) >= 5) ?1:0;
	this.ns4=(document.layers && !this.dom)?1:0;
	this.bw=(this.ie6||this.ie5||this.ns6||this.opera7);
	return this;
}
bw=new lib_bwcheck();


// -- START: rotator funcs --------------
var imgNum=-1;
var rotatorTimer;
var rotatorInterval = 7; //default value
var sTimerFunc;
var rotatorImgName;
var bSlidesRunning = false;


function changeAddRotator( sImgName, nDuration ) {
	rotatorInterval = nDuration;
	rotatorImgName = sImgName;
	bSlidesRunning = true;
	if (nDuration < 1) nDuration = 7;
	sTimerFunc = "changeSlide()";
	changeSlide( );
}

function changeSlide(){
	if (bPageLoaded) {
		imgNum++;
		imgNum = (imgNum < aRotateImg.length) ? imgNum : 0;
		if(document.images){
			var img = new Image();
			img.src = aRotateImg[imgNum][0];
			document.images[rotatorImgName].src = eval("img.src");
		}
		rotatorTimer = setTimeout( sTimerFunc, rotatorInterval*1000 );
	} else {
		// keep checking to see if the page is loaded
		rotatorTimer = setTimeout( sTimerFunc, 500 );
	}
}

function stopRotator( ) {
	bSlidesRunning = false;
	window.clearTimeout( rotatorTimer );
}

function startRotator( ) {
	if (!bSlidesRunning) {
		bSlidesRunning = true;
		changeSlide();
	}
}

function goAddRotator(){
	var aImg = aRotateImg;
	if(aImg[imgNum][2]=="_blank")window.open(aImg[imgNum][1],"_blank")
	else location = aImg[imgNum][1];
}
// -- END: rotator funcs --------------



function img_Over(imgName,imgSrc){
	var imgDir = ""; // sAppRoot + "themes/default/components/";
	MM_swapImage(imgName,'',imgDir + imgSrc,1);
}

function img_Out(){
	MM_swapImgRestore();
}

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_findObj(n, d) { //v4.0
  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 && document.getElementById) x=document.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 goLink(url,target){
    location = url;
}

function checkField(e) {
	if (bw.bw) {
		var curr_img="img" + e.name,empty=false;
		if((e.type.indexOf("text")!=-1 || e.type.indexOf("file")!=-1 || e.type.indexOf("password")!=-1) && trim(e.value)=='') empty = true;
		if(e.type.indexOf("select")!=-1 && e.selectedIndex==0) empty = true;
		var imgName = (empty) ? 'forms/required-alert.gif':'forms/required.gif';
		document.images[curr_img].src = sAppImagesRoot + imgName;
	}
}

function checkLen(e,nMax) {
	if (e.value.length > nMax) e.value=e.value.substring(0,nMax);
}

function confirmSubmit(confirmMessage) {
    return confirm(confirmMessage);
}

function openNewWindow(targetURL, windowTitle, bShowWinMenus) {
	var sWinFeatures = "";

	if ((openNewWindow.arguments.length == 3) && (bShowWinMenus))
		sWinFeatures = 'toolbar=yes,menubar=yes,width=755,height=600,scrollbars=yes,resizable=yes';
	else
		sWinFeatures = "toolbar=no,menubar=no,width=755,height=600,scrollbars=yes,resizable=yes";
	
	var oWin = window.open(targetURL, windowTitle, sWinFeatures );
	if (oWin) oWin.focus();
}


function fieldValidation(myForm,Fields,action) {
    var ret=true,pval;
    if (Fields != ""){
        pval = Fields.split(';');
        LOOP:for(var i=0; i<pval.length; i+=3){
            var obj = myForm[pval[i]];
         
            switch(pval[i+1]){
                case 'empty':
                    if(obj.type.indexOf("text")!=-1 || obj.type.indexOf("file") != -1 || obj.type.indexOf("password") != -1){
                        if(trim(obj.value)==""){
                            alert(pval[i+2]);
                            obj.focus();
                            ret = false;break LOOP;
                        }
                    } else if(obj.type.indexOf("select")!=-1){
                        if(obj.selectedIndex==0){
                            alert(pval[i+2]);
                            obj.focus();
                            ret = false;break LOOP;
                        }
                    }
					break;
                case 'email':
                    if (!isEmailValid(obj)){
                        alert(ERR_EMAIL_MSG);
                        obj.focus();
                        ret = false;break LOOP;
                    }
					break;
                case 'forceEmail':
                    if(trim(obj.value)=="") {
						alert(ERR_FMAIL_MSG+pval[i+2]); 
						obj.focus(); 
						ret=false; 
						break LOOP;
					}
                    else if (!isEmailValid(obj)){
						alert(ERR_EMAIL_MSG); 
						obj.focus(); 
						ret = false; 
						break LOOP;
					}
                    break;
            }
        }
    }
    return ret;
}

function trim(s){
    return s.replace(/\s/g,"");
}

function isEmailValid(e){
    var ret=true,s=e.value;
    if(s!=""){
        var pat = /^[\w\.-]+@[\w\.-]+\.[a-zA-Z]+$/;
        ret=(s.match(pat)!=null)?true:false;
    }
    return ret;
}


