//POP
function open_popup(page,properties) {
    top.window_handle = open(page,'edit',properties);
    top.window_handle.focus();
    if (!top.window_handle.opener) top.window_handle.opener = self;
}

//CALENDAR
function initpopcalendar(formname,fieldname,fieldvalue){
    if (document.forms[formname]){
        var x = $(fieldname)
        x.onclick = function() {
            popCalendar.show(this,x,'mm/dd/yyyy','en',1,null,null,0)
        }
    }
}

//MESSAGE
function UpdateMessage(messageid, username, row) {
    //AJAX REQUEST
    var c = '0';
    if (document.getElementById('message' + messageid).checked == true) {
        c = '1';
    }    
    new Ajax.Request('sc_updatemessage.ashx?id=' + messageid + '&u=' + username + '&c=' + c, {
        method: "get",
        onComplete: function(transport) {
        //document.getElementById(row).style.display = "none";
        //document.getElementById('mtest').innerHTML = transport.responseText;
        } //-onSuccess
        }//-request arguments
	);  // new ajax request		
 }
 

//LOG IN
function logina(formname,color1,color2) {
	//VALIDATE REQUIRED
	if(validateform(formname,color1,color2)){				
		//AJAX POST
		new Ajax.Request('/sc_login.ashx', {
		method: "post",
		parameters: Form.serialize(document.forms[formname]),
		onSuccess: function(transport,formname) { 	
			//LOG IN EXISTS?
			var theid = 'loginmessage';
			
			switch(transport.responseText){
	            case "true|1" :
		            document.getElementById(theid).innerHTML = '';
					document.location.href = "/reports/default.aspx?firstload=1";
		            break;
		            
		        case "true|2" :
		            document.getElementById(theid).innerHTML = '';
					document.location.href = "/reports/default.aspx?firstload=1";
		            break;
		            
	            case "false|2" :
                    
		            break;
		        default :
		            $(theid).innerHTML = "Invalid Log In";
				    if ($(theid).style.display == "none"){
				        Effect.Appear(theid,'blind');
				    } else {
				        Effect.Shake(theid);
				    }
		            break;
	            }
			
			
		}//-onSuccess
		}//-request arguments
		);// new ajax request		
	}
}

function uncheck(divid,formfield){
     document.forms.searchtests.reset();
     if (document.getElementById(divid).style.display != "none"){
        //CLOSE
        if(loadcount!=0) {loadtests('searchtests'); }
         loadcount = 0
    }else {
        //OPEN
        if(loadcount!=0) {loadtests('searchtests'); }
        closemenus(divid);
        loadcount = 0
    }
}

var loadcount = 0
function closemenus(divid) {
    var x=document.getElementsByTagName("div");
    var triggerhandle = 'analsort'
   
    for (var i=0;i<x.length;i++){
	    if (x[i].id.indexOf(triggerhandle)>-1){
		    var element = document.getElementById(x[i].id);
		    var theid = element.id.replace(triggerhandle,'');
		    if($(element).style.display != "none") {
		         Effect.toggle(element,'blind');
		         analysisbutton('analsort' + theid,'analysisbutton' + theid);
		    }
        }
    }
}

//REGISTER
function register(formname,validateid,indicatorid,color1,color2){
    if(validateform(formname,color1,color2)){
        document.getElementById(indicatorid).style.display = "block";
        new Ajax.Request('sc_register.ashx', {
		method: "post",
		parameters: Form.serialize(document.forms[formname]),
		onComplete: function(transport) {
		        var r = transport.responseText; 
		        if (!r.indexOf("KeepGoing")){
		          document.getElementById('ctl04_reg_wrapper').style.display = "none";
		          document.getElementById('message').style.display = "block";
		        } else {
		            document.getElementById(indicatorid).style.display = "none";
		            document.getElementById(validateid).innerHTML = r;
                    
                    if (document.getElementById(validateid).style.display == "none"){
		                document.getElementById(validateid).style.display = "block";
		            } else {
		                Effect.Shake(validateid);
		            }
		        }
			}
		}
		);
		
    }
}

//Reset Password
function resetpassword(formname, validateid, indicatorid, color1, color2) {
    if (validateform(formname, color1, color2)) {
        document.getElementById(indicatorid).style.display = "block";
        new Ajax.Request('sc_resetpassword.ashx', {
            method: "post",
            parameters: Form.serialize(document.forms[formname]),
            onComplete: function(transport) {
                var r = transport.responseText;
                if (r == "1") {
                    document.getElementById('resetmessage').style.display = "block";
                    document.getElementById(indicatorid).style.display = "none";
                } else {
                    var v = document.getElementById('resetvalidator');
                    v.style.display = "block";
                    v.innerHTML = "We were unable to locate your email address in our records.  Please contact us for support.";
                    document.getElementById('resetmessage').style.display = "none";
                    document.getElementById(indicatorid).style.display = "none";
                }
            }
        }
		);

    }
}


//VALIDATION
function createaccount(formname,validateid,indicatorid,color1,color2) {
	//VALIDATE REQUIRED
	if(validateform(formname,color1,color2)){	 

	    document.forms[formname].__VIEWSTATE.name = 'NOVIEWSTATE';
	    document.forms[formname].__VIEWSTATE.id= 'NOVIEWSTATE';

		new Ajax.Request('sc_createnewaccount.ashx', {
		method: "post",
		parameters: Form.serialize(document.forms[formname]),
		onComplete: function(transport) {
		        var r = transport.responseText; 
		        if (!r.indexOf("KeepGoing")){
		            document.forms[formname].NOVIEWSTATE.name = '__VIEWSTATE';
		            document.forms[formname].NOVIEWSTATE.id = '__VIEWSTATE';
		            document.forms[formname].submit();
		        } else {
		            document.getElementById(indicatorid).style.display = "none";
		            document.getElementById(validateid).innerHTML = r;
                    formfieldbg(r,"Zip","billing_zip",color1,color2);
                    formfieldbg(r,"Email","billing_email",color1,color2);
                    formfieldbg(r,"Username","newuser",color1,color2);
                    formfieldbg(r,"Passwords","newpassword",color1,color2);
                    formfieldbg(r,"Passwords","newpassword2",color1,color2);	           
		            if (document.getElementById(validateid).style.display == "none"){
		                document.getElementById(validateid).style.display = "block";
		            } else {
		                Effect.Shake(validateid);
		            }
		        }
			}
		}
		);
	} else {
	    document.getElementById(validateid).innerHTML = 'Please fill in Required Fields.';
	    if (document.getElementById(validateid).style.display == "none"){
			Effect.Appear(validateid,'blind');
		} else {
			Effect.Shake(validateid);
		}
	}
}

function toggleimg(id){
    if (document.getElementById(id).style.display == "none"){
        document.getElementById('nav1').src = '/images/nav/on/6.gif';
        document.getElementById('nav1').name = '';
    }
    else {
        document.getElementById('nav1').src = '/images/nav/off/6.gif';
        document.getElementById('nav1').name = 'rollover';
    }
}

function formfieldbg(search1,search2,elementid,color1,color2){
     if (search1.indexOf(search2)>-1){
        document.getElementById(elementid).style.background = color1;
     } else {
        document.getElementById(elementid).style.background = color2;
     }        
}

function ShowSwap(_image,_div){
    var x = document.getElementById(_div);
    x.src = _image
}

function showmenu(themenu){
	if (document.getElementById(themenu).style.display == "none"){
		document.getElementById(themenu).style.display = "block"
	} else {
		document.getElementById(themenu).style.display = "none"
	}
}

function loaddiv(divid,ajaxpage,tab,handle){
	//TABS
	var x=document.getElementsByTagName("img");
	for (var i=0;i<x.length;i++){
		if (x[i].id.indexOf(handle)>-1){
			var element = document.getElementById(x[i].id);
			if (element.id == tab){
				element.src = element.src.replace('/off/','/on/')
			} else {
				element.onmouseover = tabover;
				element.onclick = tabclick; 
				element.onmouseout = tabout; 
				element.src = element.src.replace('/on/','/off/')
			}
		}
	}
	
	//AJAX REQUEST
	new Ajax.Request(ajaxpage, {
	method: "get",
	onComplete: function(transport) { 
		document.getElementById(divid).innerHTML = transport.responseText;
		}//-onSuccess
		}//-request arguments
		);// new ajax request	
}

function nav(id) {
    var x=document.getElementsByTagName("div");
    for (var i=0;i<x.length;i++){
		if (x[i].id.indexOf(id)>-1){
		    var element = document.getElementById(x[i].id);
		    var theid = element.id.replace(id,'');
		    //var theid = element.id.replace('_drop','');
		    //var theid = theid + "_drop";
		    //alert(theid);
            var dropdiv = document.getElementById(id + theid);
            dropdiv.onmouseover = function() {
                var navtoswitch = this.id;
                document.getElementById(navtoswitch).style.backgroundColor = "#c7e09f";
            }
            dropdiv.onmouseout = function() {
                //alert('hi1');
                var navtoswitch = this.id;
                document.getElementById(navtoswitch).style.backgroundColor = "#e2e1e1";
            }
        }
    }
    
}

//TYPE OF PROBLEM
function problem(level,parentid){
    level += 1;
    var x=document.getElementsByTagName("div");
    var ii = 0
    var handle  = 'problem-name-' + level + '-' + parentid + '-'
	for (var i=0;i<x.length;i++){
	    if (x[i].id.indexOf(handle)>-1){
	        var element = document.getElementById(x[i].id);
			var theid = element.id.replace(handle,'');
			if (document.getElementById(handle + theid).style.display == 'block'){
			   	document.getElementById(handle + theid).style.display = 'none';
			} else {
			    document.getElementById(handle + theid).style.display = 'block';
			}	
	    }
	}
}

function spidermenus(triggerhandle,menuhandle){
	var x=document.getElementsByTagName("div");
	for (var i=0;i<x.length;i++){
		if (x[i].id.indexOf(triggerhandle)>-1){
			//VARIABLES
			var element = document.getElementById(x[i].id);
			var theid = element.id.replace(triggerhandle,'');
            
			//TRIGGERS
			var thetrigger = document.getElementById(triggerhandle + theid);
			thetrigger.onmouseover = function() {  
			    this.style.position = 'relative';
				var menutoswitch;
				menutoswitch = this.id.replace('trigger','');
				
				document.getElementById(menutoswitch).style.display = "block";
				var navimg = this.id.replace('menutrigger','');
				document.getElementById('nav' + navimg).src = document.getElementById('nav' + navimg).src.replace('/off/','/roll/');
			    };
			thetrigger.onmouseout = function() {
			    this.style.position = 'static';
				var menutoswitch;
				menutoswitch = this.id.replace('trigger','');
				document.getElementById(menutoswitch).style.display = "none";
                var navimg = this.id.replace('menutrigger','');
                
				document.getElementById('nav' + navimg).src = document.getElementById('nav' + navimg).src.replace('/roll/','/off/');
			};
			
			//MENUS
			var themenu = document.getElementById(menuhandle + theid);
			themenu.onmouseover = function() {
				var menutoswitch;
				menutoswitch = this.id;
				document.getElementById(menutoswitch).style.display = "block";
				
			};
			themenu.onmouseout = function() {
				var menutoswitch;
				menutoswitch = this.id;
				document.getElementById(menutoswitch).style.display = "none";
			};
		} 
	}
}

//RELOAD TESTS
function loadtests(formname){
    loadcount +=1;
    
    $('indicator').style.display = 'block';
    new Ajax.Request('/ajax/list.aspx', {
	method: "post",
	parameters: Form.serialize(document.forms[formname]),
    onSuccess: function(transport) {
        $('indicator').style.display = 'none';
	    document.getElementById("sortcenter").innerHTML = transport.responseText
			}//-onSuccess
	    }//-request arguments
    );// new ajax request
}


//UPDATE CART
function updatecart(formname){
    new Ajax.Request('/sc_addtocart.ashx', {
	method: "post",
	parameters: Form.serialize(document.forms[formname]),
    onSuccess: function(transport) {
        var resp = transport.responseText.split("^");
	    document.getElementById("sc_minicart_subtotalwrapper").innerHTML = '$' + resp[1];
			}//-onSuccess
	    }//-request arguments
    );// new ajax request
}

//ADD TO CART
function addtoshoppingcart(formname,messageid){ 
    var Digital=new Date()
    var seconds=Digital.getSeconds()
    var hours=Digital.getHours()
    var minutes=Digital.getMinutes()
    new Ajax.Request('/sc_addtocart.ashx?refresh=' + seconds + hours + minutes, {
	method: "post",
	parameters: Form.serialize(document.forms[formname]),
    onSuccess: function(transport,formname) { 	
            document.getElementById(messageid).style.display = 'block';
            document.getElementById(messageid).innerHTML = 'Added!';
	        var t = setTimeout("Effect.Fade('" + messageid + "');",1000);	
	        
	        refreshcart('refreshcart');    
	         
			}//-onSuccess
	    }//-request arguments
    );// new ajax request
}

//REFRESH CART
function refreshcart(divid){
    var Digital=new Date()
    var seconds=Digital.getSeconds()
    var hours=Digital.getHours()
    var minutes=Digital.getMinutes()
    new Ajax.Request('/ajax/loadcart.aspx?refresh=' + new Date().getTime(), {
	    method: "get",
	    onSuccess: function(transport) { 
		    document.getElementById(divid).innerHTML = transport.responseText;
		    }//-onSuccess
		    }//-request arguments
		    );// new ajax request
}

//DELETE FROM CART
function remitem(cartrow,cartitemid){
	Effect.Fade(cartrow);
	
	//AJAX POST
	new Ajax.Request('/sc_deletecartitem.ashx?id=' + cartitemid, {
	method: "get",
	onComplete: function(transport) { 
        var resp = transport.responseText.split("^");
	    document.getElementById("sc_minicart_subtotalwrapper").innerHTML = '$' + resp[1];
		}//-onSuccess
		}//-request arguments
		);// new ajax request
}


//VALIDATION
function validEmail(email) {
			var re = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/;
			return re.test(email); 
		}
		
//VALIDATION
function trim(stringToTrim) {
	return stringToTrim.replace(/^\s+|\s+$/g,"");
}
		
//VALIDATION
function ltrim(stringToTrim) {
	return stringToTrim.replace(/^\s+/,"");
}
		
//VALIDATION
function rtrim(stringToTrim) {
	return stringToTrim.replace(/\s+$/,"");
}
		
//VALIDATION
function isFilled(elm) {
	//alert(elm.type);
	//Last Updated by Sol - 6/14/07
	switch(elm.type){
	case "text":
		if (trim(elm.value) == "" || elm.value == null){
		return false;}
		else {return true;}
		break;
	case "password":
		if (trim(elm.value) == "" || elm.value == null){
		return false;}
		else {return true;}
		break;
	case "textarea":
		if (trim(elm.value) == "" || elm.value == null){
		return false;}
		else {return true;}
		break;
	case "select-one":
		var myindex=elm.selectedIndex;
		if (myindex==0){
		return false;}
		else {return true;}
		break;
	}
}

//VALIDATION
function validateform(formname,color1,color2){
	//last updated on 9/27/07
	//index of is mo betta
	var x = document.forms[formname];
	var allgood = true;
	for (var i=0;i<x.length;i++){
		if (x.elements[i].className.indexOf('required')>-1) {
		 	var thisformname = x.elements[i].name;
			var thisformid = x.elements[i].id;
			if (!isFilled(x.elements[i])) {
				document.getElementById(thisformid).style.background = color1;
				allgood = false;
				} else {
				  document.getElementById(thisformid).style.background = color2; 
				}
			}
		}
		if (allgood) {
			return true;
			} else {
			return false;
			}
	}
	
function spiderform(formname,validateid,successid,indicatorid,ajaxpage) {
	//VALIDATE REQUIRED
	if(validateform(formname,'#a7c5f8','#e8e0cd')){
	
	    //SPAM FILTER 
	    //var spamfilter = document.getElementById("spamfilter").value;   
	    spamfilter = 'hot';
	    if(spamfilter != "hot"){
	    document.getElementById(validateid).innerHTML = 'You need to be a human to submit this form. Please answer the temperature question';   
	    } else {	
	
		//EMAIL IS VALID?
		var email = document.getElementById("email").value;
		if(!validEmail(email)){
			document.getElementById("email").style.background = "white"; 
			document.getElementById(validateid).innerHTML = 'Invalid Email';
			if (document.getElementById(validateid).style.display == "none"){
					Effect.Appear(validateid,'blind');
					} else {
					Effect.Shake(validateid);
					}
			} else {
			document.getElementById(validateid).style.display = "none";
			document.getElementById(indicatorid).style.display = "block";
			//alert('got here')
			//AJAX POST
			new Ajax.Request(ajaxpage, {
			method: "post",
			parameters: Form.serialize(document.forms[formname]),
			onComplete: function(transport) {		
			document.getElementById(successid).innerHTML = transport.responseText;
			document.getElementById(indicatorid).style.display = "none";
				//alert(transport.responseText);			
				
				}//-onSuccess
			}//-request arguments
			);// new ajax request	
			
			//document.form.formname.submit();	
			}
		}
	}
}

//IMAGE ROLLOVER
function rolloverInit() {
    var x = document.getElementsByTagName("img");
    for (var i = 0; i < x.length; i++) {
        if (x[i].className.indexOf('rollover') > -1) {
            x[i].onmouseover = function() {
                this.src = this.src.replace('/off/', '/roll/')
            }
            x[i].onmouseout = function() {
                this.src = this.src.replace('/roll/', '/off/')
            }
        }
    }
}

//IMAGE ROLLOVER
//Last Update August 1, 2008
function setupRollover(thisImage) {
	thisImage.outImage = new Image();
	thisImage.outImage.src = thisImage.src;
	//alert(thisImage.id);
	thisImage.outImage.id = thisImage.id;
	thisImage.onmouseout = rollOut;
	thisImage.overImage = new Image();
	thisImage.overImage.id = thisImage.id
	thisImage.overImage.src = thisImage.src.replace('/off/','/roll/')
	thisImage.onmouseover = rollOver;
}

//IMAGE ROLLOVER
function rollOver() {
	this.src = this.overImage.src;
}

//IMAGE ROLLOVER
function rollOut() {
	this.src = this.outImage.src;
}

function arrowtoggle(id){
    var arrow = document.getElementById(id);
    if(arrow.getAttribute('src').indexOf('off') >-1){
        document.getElementById(id).src = "/images/onarrow.gif";
    } else {
        document.getElementById(id).src = "/images/offarrow.gif";
    }
}

function analysisbutton(id,butt){
    var sort = document.getElementById(id);
    if(sort.style.display == "none"){
        document.getElementById(butt).src = "/images/buttons/close.gif";
    } else {
        document.getElementById(butt).src = "/images/buttons/open.gif";
    }
}

function tour(url,title){
    //$('embed').src = url;
    //if(navigator.userAgent.indexOf('MSIE') > -1 | navigator.userAgent.indexOf('Safari') > -1){
        //$('embedwrapper').innerHTML = "<embed src=\"" + url + "\" id=\"embed\" allowscriptaccess=\"always\" width=\"472\" height=\"313\">";
        var embed = ""
		embed += "<object CLASSID=\"CLSID:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B\" width=\"472\" height=\"313\" codebase=\"http://www.apple.com/qtactivex/qtplugin.cab\">"
		embed += "<param name=\"src\" value=\""+ url +"\">"
		embed +=  "<param name=\"autoplay\" value=\"true\">"
		embed += "<param name=\"controller\" value=\"true\">"
		embed +=  "<embed src=\"" + url + "\" id=\"embed\" allowscriptaccess=\"always\" width=\"472\" height=\"313\">";
		embed += "</object>"
		$('embedwrapper').innerHTML = embed
		$('tourcap').innerHTML = "<table width=\"490\" cellpadding=\"0\" cellspacing=\"0\"><tr><td align=\"center\"><b>" + title + "</b></td></tr></table>";
    //}			
}

function showworld(id){
    $(id).style.display = 'block';

    $(id).onmouseout = function(){
        $(id).style.display = 'none';    
    }
    $(id).onmouseover = function(){
        this.style.display = 'block';
    }
}

function showworld1(id){
    $(id).style.display = 'none';
}

window.onload = masterloader;

function masterloader(){
	rolloverInit();
	spidermenus('menutrigger','menu');
	nav('sc_header_');
	//nav('drop');
}

function removevalidationmessage() {
    document.getElementById('pending_validation').style.display = 'none';
    var x = document.getElementsByTagName('span');
    for (var i = 0; i < x.length; i++) {
        x[i].style.display = 'inline';
    }
    new Ajax.Request('/sc_confirmvalidation.ashx', {
            method: "post",
            onComplete: function(transport) {
                if (transport.responseText == 'true') {
                    
                } else {
                    
                }
            } //-onSuccess
        }//-request arguments
	); // new ajax request
}