var isIE  = (navigator.appVersion.indexOf("MSIE") != -1) ? true : false;
var isWin = (navigator.appVersion.toLowerCase().indexOf("win") != -1) ? true : false;
var isOpera = (navigator.userAgent.indexOf("Opera") != -1) ? true : false;

function cbFlashDetect(){
// APRIL 2008,ControlVersion, GetSwfVer, DetectFlashVer can all be removed.
// uses SWFOBJECT detection method now.
var installedVer = deconcept.SWFObjectUtil.getPlayerVersion();
if (installedVer.major < 8){
	document.location = "/getFlash";
}
}

function ControlVersion()
{
	var version;
	var axo;
	var e;

	try {
		axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7");
		version = axo.GetVariable("$version");
	} catch (e) {
	}

	if (!version)
	{
		try {
			axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");
			version = "WIN 6,0,21,0";
			axo.AllowScriptAccess = "always";
			version = axo.GetVariable("$version");

		} catch (e) {
		}
	}

	if (!version)
	{
		try {
			axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.3");
			version = axo.GetVariable("$version");
		} catch (e) {
		}
	}

	if (!version)
	{
		try {
			axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.3");
			version = "WIN 3,0,18,0";
		} catch (e) {
		}
	}

	if (!version)
	{
		try {
			axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash");
			version = "WIN 2,0,0,11";
		} catch (e) {
			version = -1;
		}
	}
	
	return version;
}

function GetSwfVer(){
	var flashVer = -1;
	
	if (navigator.plugins != null && navigator.plugins.length > 0) {
		if (navigator.plugins["Shockwave Flash 2.0"] || navigator.plugins["Shockwave Flash"]) {
			var swVer2 = navigator.plugins["Shockwave Flash 2.0"] ? " 2.0" : "";
			var flashDescription = navigator.plugins["Shockwave Flash" + swVer2].description;			
			var descArray = flashDescription.split(" ");
			var tempArrayMajor = descArray[2].split(".");
			var versionMajor = tempArrayMajor[0];
			var versionMinor = tempArrayMajor[1];
			if ( descArray[3] != "" ) {
				tempArrayMinor = descArray[3].split("r");
			} else {
				tempArrayMinor = descArray[4].split("r");
			}
			var versionRevision = tempArrayMinor[1] > 0 ? tempArrayMinor[1] : 0;
			var flashVer = versionMajor + "." + versionMinor + "." + versionRevision;
		}
	}
	else if (navigator.userAgent.toLowerCase().indexOf("webtv/2.6") != -1) flashVer = 4;
	else if (navigator.userAgent.toLowerCase().indexOf("webtv/2.5") != -1) flashVer = 3;
	else if (navigator.userAgent.toLowerCase().indexOf("webtv") != -1) flashVer = 2;
	else if ( isIE && isWin && !isOpera ) {
		flashVer = ControlVersion();
	}	
	return flashVer;
}

function DetectFlashVer(reqMajorVer, reqMinorVer, reqRevision)
{
	versionStr = GetSwfVer();
	if (versionStr == -1 ) {
		return false;
	} else if (versionStr != 0) {
		if(isIE && isWin && !isOpera) {
			tempArray         = versionStr.split(" "); 
			tempString        = tempArray[1];			
			versionArray      = tempString.split(",");	
		} else {
			versionArray      = versionStr.split(".");
		}
		var versionMajor      = versionArray[0];
		var versionMinor      = versionArray[1];
		var versionRevision   = versionArray[2];

		if (versionMajor > parseFloat(reqMajorVer)) {
			return true;
		} else if (versionMajor == parseFloat(reqMajorVer)) {
			if (versionMinor > parseFloat(reqMinorVer))
				return true;
			else if (versionMinor == parseFloat(reqMinorVer)) {
				if (versionRevision >= parseFloat(reqRevision))
					return true;
			}
		}
		return false;
	}
}

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 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_openBrWindow(theURL,winName,features) { //v2.0
  newwin = window.open(theURL,winName,features);
  newwin.focus()
}

// Marshill custom begin 

function cbConvert(myTxt)
{
	message = myTxt;
	backmessage = ""; 
	for (i = message.length-1; i >= 0; i--){ 
		backmessage += message.charAt(i); 
	}

return backmessage; 

}
function hiliteYellow(currObject){
	if ( firstObject == "aa"){
		firstObject = currObject;
	}
currObject.style.backgroundColor ='#FFFFD9';
currObject.style.borderColor ='red';
}
function formatCurrency(num) {
num = num.toString().replace(/\$|\,/g,'');
if(isNaN(num))
num = "0";
sign = (num == (num = Math.abs(num)));
num = Math.floor(num*100+0.50000000001);
cents = num%100;
num = Math.floor(num/100).toString();
if(cents<10)
cents = "0" + cents;
for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++)
num = num.substring(0,num.length-(4*i+3))+','+
num.substring(num.length-(4*i+3));
return (((sign)?'':'-') + '$' + num + '.' + cents);
}

function formatCurrencyB(num) {
num = num.toString().replace(/\$|\,/g,'');
if(isNaN(num))
num = "0";
sign = (num == (num = Math.abs(num)));
num = Math.floor(num*100+0.50000000001);
cents = num%100;
num = Math.floor(num/100).toString();
if(cents<10)
cents = "0" + cents;
for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++)
num = num.substring(0,num.length-(4*i+3))+','+
num.substring(num.length-(4*i+3));
cents = "00";
return (((sign)?'':'-') + '$' + num + '.' + cents);
}

function formatNumber(num,defaultvalue,maxVal,minVal) {
num = num.toString().replace(/\$|\,/g,'');
if(isNaN(num)){
	num = defaultvalue;
}else{
	if (num > maxVal){
	num = defaultvalue;
	}
	if (num < minVal){
	num = defaultvalue;
	}
}
return num;
}

function Trim(TRIM_VALUE){
if(TRIM_VALUE.length < 1){
return"";
}
TRIM_VALUE = RTrim(TRIM_VALUE);
TRIM_VALUE = LTrim(TRIM_VALUE);
if(TRIM_VALUE==""){
return "";
}
else{
return TRIM_VALUE;
}
} 

function RTrim(VALUE){
var w_space = String.fromCharCode(32);
var v_length = VALUE.length;
var strTemp = "";
if(v_length < 0){
return"";
}
var iTemp = v_length -1;

while(iTemp > -1){
if(VALUE.charAt(iTemp) == w_space){
}
else{
strTemp = VALUE.substring(0,iTemp +1);
break;
}
iTemp = iTemp-1;

} 
return strTemp;

} 

function LTrim(VALUE){
var w_space = String.fromCharCode(32);
if(v_length < 1){
return"";
}
var v_length = VALUE.length;
var strTemp = "";

var iTemp = 0;

while(iTemp < v_length){
if(VALUE.charAt(iTemp) == w_space){
}
else{
strTemp = VALUE.substring(iTemp,v_length);
break;
}
iTemp = iTemp + 1;
}
return strTemp;
} 

function check_for_range(form){
  if (form.daterange.options[form.daterange.selectedIndex].value == "range") {
  document.getElementById("datediv").style.display = "";
  }else{
   document.getElementById("datediv").style.display = "none";
  }
  
} 

function setError(mytext,errType){
newDesc = "";
fullDesc = "";
for (xx=0;xx < mytext.length;xx++){
newDesc = mytext.substr(xx,1);
newDescUpper = newDesc.toUpperCase();
if (newDesc == newDescUpper){
fullDesc += " " + newDesc;
}else{
if (xx == 0){
fullDesc += newDescUpper;
}else{
fullDesc += newDesc;
}

}

}
if (errType != undefined){
	fullDesc = fullDesc + " " + "( " + errType + " )";
}
return '- ' + '' + fullDesc+  '' + newLine; 
}

function isValidEmail(src) {
  var emailReg =  /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,})+$/;
     var regex = new RegExp(emailReg);
     return regex.test(src);
  }

function ATLEAST(amt,title,currObject){
		
	
myGroup = currObject.name.substring(0,currObject.name.indexOf("_"));

	myGroupVAR = myGroup + "_FCHECKER";
	
	objListB = this.form.elements.length;
    for (x=0;x<this.form.elements.length;x++) {
	myObjectB = this.form.elements[x];
	
	if ( myObjectB.name.indexOf(myGroup + "_") != -1){

		testValue = myObjectB.value + "";
		if (myObjectB.type == "checkbox"){
			if (myObjectB.checked){
			}else{
			testValue = "";
			}
		}
		
		if ( testValue != ""){
			document.groups[myGroupVAR] = "1";
		}

	}
	
	}
	
if ( typeof document.groups[myGroupVAR] == "undefined"){
		err= err +  "- " + "At least "+amt+" "+title+ " is required." + newLine;
		document.groups[myGroupVAR] = "1";
}else{
	

}
	

	
}
function doCheck(myObject){
	myName = myObject.name;
	idText =  Trim(myObject.id);
	if (idText.indexOf("(") != -1){
	leftBracket = idText.indexOf("(");
	rightBracket = idText.indexOf(")");
	functionName = idText.substring(0,leftBracket).toUpperCase();
	parameters = idText.substring(leftBracket+1,rightBracket);
	parameters = Trim(parameters);
	

	if (parameters.indexOf(",") != -1){
	parameters = parameters + ",myObject";
	}else{
	parameters = parameters + "myObject";
	}
	eval(functionName + "(" + parameters + ")");
	}
	
	if (myObject.id == "email"){
		
		if ( isValidEmail( eval("document." + formName + "." + myName + ".value") )){
								}else{
							     err = err + setError(myObject.name, "not a valid e-mail");
								 hiliteYellow(myObject);
								}
	}
	
		if ( myObject.id.toUpperCase() != "NO" && myObject.id != "email" && myObject.type != "hidden" ){
	myName = myObject.name;
	if ( eval("document." + formName + "." + myName +"2") && myObject.type == "select-one"){
	 if ( (eval("document." + formName + "." + myName +"2" +".type") == "text") && (eval("document." + formName + "." + myName +".type") == "select-one") ){
	 if ( (eval("document." + formName + "." + myName +"2" +".value") != "") || (eval("document." + formName + "." + myName + ".value") != "") ){
	 }else{
	  err = err + setError(myObject.name);
	  hiliteYellow(myObject);
	 }
	 }
	 
	}else{
	myname = myObject.name;
	mylastchar = myname.substr(myname.length-1,1);
mylastchar = 1;
	if (mylastchar != "2" && idText.indexOf("(") == -1){
		
	if (myObject.type == "select-one"  && myObject.value=="" ){
	   err = err + setError(myObject.name);
	    hiliteYellow(myObject);
	}
	
if (myObject.type == "radio" ) {
    ignoreRadio = 0;
    radioCheck = 0;
    for ( z=0; z < ignoreArray.length; z++){
        if (ignoreArray[z] == myObject.name){
        ignoreRadio = 1;
        }
    }
    if (ignoreRadio == 0){

        for (z=0;z<currentForm.elements.length;z++) {
            myRadio = currentForm.elements[z];
            
                if (myRadio.name == myObject.name ) {
                    if (myRadio.checked == 1){
                        ignoreRadio = 1;
                        radioCheck = 1;
                        ignoreArray.push(myRadio.name);
					}
				}
        }
     

    }
     if (radioCheck == 0){
       for (z=0;z<currentForm.elements.length;z++) {
        myRadio = currentForm.elements[z];
       if (myRadio.name == myObject.name ) {
       if (myRadio.checked ==1){
       radioCheck = 1;
       }
     	}
     	}
     }
    if (radioCheck == 0){
      for (z=0;z<currentForm.elements.length;z++) {
        myRadio = currentForm.elements[z];
       if (myRadio.name == myObject.name ) {
       hiliteYellow(myObject);
       }
       }
    }
            if (ignoreRadio == 0){
            err = err + setError(myObject.name);
		hiliteYellow(myObject);
			   ignoreArray.push(myObject.name);
            }
            
		}
	
	
    if ( ((myObject.type=="text") || (myObject.type=="textarea")) && myObject.value=="")  {
			
	   err = err + setError(myObject.name);
	    hiliteYellow(myObject);
    }
	
	}
	
	}
	}
}
function jumpError(){
	clearInterval(timerA);
	if (firstObject != "aa"){
	firstObject.focus();
	}
}

function formChecker(form,ignoreList){
currentForm = form;
if (ignoreList == undefined){
ignoreArray = new Array();
}else{
ignoreArray = ignoreList.split(",");
}
	formName = form.name; 
count = 0;
firstObject = "aa";
if (document.getElementById("formChecker_errorText")){
errMode = 1;
newLine = "<BR>";
}else{
errMode = 0;
newLine = "\n";
}


	count = count + 1;
	if (count ==1){
	document.groups = new Object();
	}else{
	document.groups = [];
	}

	err = "";
	objList = form.elements.length;
	formItems = form.elements.length;
    for (i=0;i<form.elements.length;i++) {
	myObject = form.elements[i];
myObject.style.backgroundColor ='';
myObject.style.borderColor ='';
	objList = objList + myObject.type + ",";
	doCheck(myObject);
	}
	if (err) {
if (errMode == 0 ){
	alert('Please provide the following information:' + newLine + newLine +err);
}
if (errMode == 1){
bigErr = "<br><img src='/images/icon_caution.gif'><br>" + newLine + err + newLine + "</p>";
document.getElementById("formChecker_errorText").innerHTML = bigErr;
document.location.href='#formCheckerError';
if (count == 1){
timerA = setInterval('jumpError()',2300);
}else{
jumpError();
}

}

	document.returnValue = false;
	return false;
	}else{
if (errMode == 1){
document.getElementById("formChecker_errorText").innerHTML = "";
}
	document.returnValue = true;
	}
}
function ask(data,resultURL){
if (confirm(data)){
document.location = resultURL;
}
}


function tellMePrice(myObj,idNum){
tellTempArray = new Array();
tellTempArray2 = eval("array" + idNum);
for (i=0;i < tellTempArray2.length;i++){
tellTempArray.push(document.getElementById(tellTempArray2[i]).value);
}
tellTempArray.sort();
tellTemp = "";
for(i=0; i < tellTempArray.length; i ++ ){
tellTemp = tellTemp + "_" + tellTempArray[i]; 
}
if ( eval("drop_" + idNum + tellTemp) ){
document.getElementById("myPrice_"+ idNum).innerHTML = formatCurrency(eval("drop_" + idNum + tellTemp));
}
}


function validatePhone(m,evt){
var n;
var p;
var p1;
goodNumber = "";
finalNumber = "";
if ( typeof(eval('evt')) != 'undefined' ) {
var charCode = (evt.which) ? evt.which : event.keyCode
}else{
charCode = 1;
}
if (charCode != 8){
myNumber = m.value;
myNumber = myNumber.replace(" ","");
for (i = 0; i < myNumber.length; i++){
currentNum = myNumber.substr(i,1);
if ( !isNaN(currentNum) ){
goodNumber = goodNumber + currentNum;
}
}
finalNumber = goodNumber;
if (goodNumber.length >= 3){
finalNumber = "(" + goodNumber.substr(0,3) + ") ";
}
if (goodNumber.length >= 4){
finalNumber = finalNumber + goodNumber.substr(3,3);
}
if (goodNumber.length >= 6){
finalNumber = finalNumber + "-" + goodNumber.substr(6,4);
}
m.value = finalNumber;
}
}
function addLoadEvent(func) {
  var oldonload = window.onload;
  if (typeof window.onload != 'function') {
    window.onload = func;
  } else {
    window.onload = function() {
      if (oldonload) {
        oldonload();
      }
      func();
    }
  }
}