//DIRTY LAUNDRY COMMON JAVASCRIPT

var pop_y = -275;


function select_product_option(option,img){
	if(img != ""){
		document.getElementById(option+"_option_image").src = img;
		document.getElementById(option+"_option_image").style.visibility = "visible";
		document.getElementById(option+"_option_image").style.height = "120px";
	} else {
		document.getElementById(option+"_option_image").style.visibility = "hidden";
		document.getElementById(option+"_option_image").style.height = "";
	}
}

function readCookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}

function createCookie(name,value,days) {
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	domain = window.location.hostname;
	domain = "." + domain.replace(/^www\./,'');
	//alert(domain);
	document.cookie = name+"="+value+expires+"; path=/; domain="+domain;
}

function floatDownWindow() {
	div = document.getElementById('popup_free_offer');
        if (document.documentElement){
                theTop = document.documentElement.scrollTop;
        }
        else if (document.body){
                theTop = document.body.scrollTop;
        }
	if(pop_y < 100){
		pop_y += 4;
	}
	div.style.top = (pop_y+theTop)+"px";
	setTimeout('floatDownWindow()', 10);
}


function add_to_cart(which){
	form_complete = true;

	var elem = document.getElementById("buy_product_"+which).elements;
	for(var i = 0; i < elem.length; i++){
		if(elem[i].name.substring(7,0) == "option[")
			if(elem[i].value == 0)
				form_complete = false;
	}
	
	
	if(form_complete == false)
		alert("Please select the options for your product.");

	return form_complete;
}

function select_option_show(which){
	if(document.getElementById("pop_"+which).style.visibility == "visible")
		document.getElementById("pop_"+which).style.visibility = "hidden";
	else
		document.getElementById("pop_"+which).style.visibility = "visible";
}

function select_option(which, id, name){
	document.getElementById("text_"+which).innerHTML = name;
	document.getElementById("option_"+which).value = name;
	document.getElementById("pop_"+which).style.visibility = "hidden";
}

function init_ajax(){
	if(testAJAX()){
		changecss('.ajax', 'display', 'inline');
		changecss('.noajax', 'display', 'none');
	}
}


function list_join(where){
	email_value = document.getElementById('signup_email_'+where).value;
	if(!echeck(email_value)){
		document.getElementById("signup_bad_email_"+where).style.display="block";
		pageTracker._trackEvent("email", where+"failed js check", document.getElementById('signup_email_'+where).value);
	} else {
		document.getElementById("signup_bad_email_"+where).style.display="none";
		list_join_req = initAJAXRequest();
			list_join_req.onreadystatechange=function(){
				if(list_join_req.readyState==4){
					if(list_join_req.responseText == 1){
						document.getElementById("signup_success_"+where).style.display="block";
						document.getElementById("signup_form_"+where).style.display="none";
						pageTracker._trackEvent("email", where, document.getElementById('signup_email_'+where).value);
					} else {
						pageTracker._trackEvent("email", where+"failed on post", document.getElementById('signup_email_'+where).value);
					}
				}
			}
			list_join_req.open("GET","ajax/list_join.php?email="+email_value+"&session="+session,true);
			list_join_req.send(null);
		//}
	}
}



function testAJAX(){
	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 false;
			}
		}
	}
	return true;
}


function initAJAXRequest() {
	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 false;
			}
		}
	}
	return xmlHttp;
}





function echeck(str) {

		var at="@"
		var dot="."
		var lat=str.indexOf(at)
		var lstr=str.length
		var ldot=str.indexOf(dot)
		if (str.indexOf(at)==-1){
		   return false
		}
		if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
		   return false
		}

		if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
		    return false
		}

		 if (str.indexOf(at,(lat+1))!=-1){
		    return false
		 }

		 if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
		    return false
		 }

		 if (str.indexOf(dot,(lat+2))==-1){
		    return false
		 }
		
		 if (str.indexOf(" ")!=-1){
		    return false
		 }
 		 return true;
	}
	
	
function login(){
	var login_ajax = initAJAXRequest();
	//if(login_ajax == false){
	if(typeof(login_ajax) != 'object' || ajax == "off"){
		document.getElementById("login_form").submit();
	}else{
		//try xml login
		login_ajax.onreadystatechange=function(){
			if(login_ajax.readyState==4){
				document.getElementById('result').innerHTML += login_ajax.responseText;
				//alert(xmlHttp.responseText);
				if(login_ajax.responseText == -1){
					//not logged in
					document.getElementById("login_error").style.display="block";
				} else {
					var date = new Date();
					date.setTime(date.getTime()+(3*24*60*60*1000));
					var expires_date = date.toGMTString();
					//document.cookie = 'userid='+login_ajax.responseText+'; expires='+expires_date+'; path=/';
					if (document.getElementById("my_page_link") != null) document.getElementById("my_page_link").innerHTML = '<a href="dirty-is-sexy_'+login_ajax.responseText+'.html">My Page</a>';
					if (document.getElementById("username_div") != null) document.getElementById("username_div").innerHTML = document.login_form.username.value;
					document.getElementById("login_box").style.display="none";
					document.getElementById("welcome_message").style.display="block";
				}
			}
		}
		login_ajax.open("GET","ajax/login.php?username="+document.login_form.username.value+"&password="+document.login_form.password.value,true);
		login_ajax.send(null);
		document.getElementById('result').innerHTML += "ajax/login.php?username="+document.login_form.username.value+"&password="+document.login_form.password.value;

	}
}
function recover_password(){
	var login_ajax = initAJAXRequest();
	var username = document.getElementById("username").value;
//	if(login_ajax == false){
	if(typeof(login_ajax) != 'object' || ajax == "off"){
		document.location = "index.php?page="+current_page+"&reg_action=recover&username="+username;
	}else{
		//try xml login
		login_ajax.onreadystatechange=function(){
			if(login_ajax.readyState==4){
				if(login_ajax.responseText == "recovered")
					recovered();
				else
					not_recovered();
			}
		}
		login_ajax.open("GET","ajax/login.php?recover=1&username="+username,true);
		login_ajax.send(null);
	}

}
function logout(){
	var login_ajax = initAJAXRequest();
//	if(login_ajax == false){
	if(typeof(login_ajax) != 'object' || ajax == "off"){
		document.location = "index.php?page="+current_page+"&logout=1";
	}else{
		//try xml log out
		xmlHttp.onreadystatechange=function(){
			if(xmlHttp.readyState==4){
				var date = new Date();
//				date.setTime(date.getTime()+(3*24*60*60*1000));
//				var expires_date = date.toGMTString();
				createCookie('SessionID',xmlHttp.responseText,3);
//				document.cookie = 'SessionID='+xmlHttp.responseText+'; expires='+expires_date+'; path=/';
				document.getElementById("login_error").style.display="none";
				//document.getElementById("username_div").innerHTML = document.login_form.username.value;
				document.getElementById("username").value= document.getElementById("username_div").innerHTML;
				document.getElementById("password").value = "";
				document.getElementById("login_box").style.display="block";
				document.getElementById("welcome_message").style.display="none";
			}
		}
		xmlHttp.open("GET","ajax/login.php?logout=1",true);
		xmlHttp.send(null);
	}
}


function register(){
	if(validate_registration()){
		var login_ajax = initAJAXRequest();
//		if(login_ajax == false){
		if(typeof(login_ajax) != 'object' || ajax == "off"){
			document.register_form.submit();
		}else{
			//try xml login
			xmlHttp.onreadystatechange=function(){
				if(xmlHttp.readyState==4){
					document.getElementById('result').innerHTML += xmlHttp.responseText;
					if(xmlHttp.responseText > -1){
						var date = new Date();
//						date.setTime(date.getTime()+(3*24*60*60*1000));
//						var expires_date = date.toGMTString();
//						createCookie('SessionID',xmlHttp.responseText,3);
//						document.cookie = 'userid='+xmlHttp.responseText+'; expires='+expires_date+'; path=/';
						createCookie('userid',xmlHttp.responseText,3);

						//alert(xmlHttp.responseText);
						document.getElementById("register_div").style.display="none";
						document.getElementById("username_div").innerHTML = document.register_form.username.value;
						document.getElementById("welcome_message").style.display="block";
					}
					
					if(xmlHttp.responseText == -1)
						document.getElementById("user_exists").style.display="block";
					else
						document.getElementById("user_exists").style.display="none";
					if(xmlHttp.responseText == -2)
						document.getElementById("username_error2").style.display="block";
					else
						document.getElementById("username_error2").style.display="none";
					if(xmlHttp.responseText == -3)
						document.getElementById("password_error2").style.display="block";
					else
						document.getElementById("password_error2").style.display="none";
					if(xmlHttp.responseText == -4)
						document.getElementById("email_error").style.display="block";
					else
						document.getElementById("email_error").style.display="none";
					if(xmlHttp.responseText == -5)
						document.getElementById("email_error2").style.display="block";
					else
						document.getElementById("email_error2").style.display="none";
					//alert(xmlHttp.responseText);
				}
			}
			xmlHttp.open("POST","ajax/login.php?action=signup",true);
            xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
			var query = createQuery(document.register_form);
			xmlHttp.send(query);
			document.getElementById('result').innerHTML += query;
		}
	}
}


function createQuery(form){
    var elements = form.elements;
    var pairs = new Array();
    for (var i = 0; i < elements.length; i++) {
        if ((name = elements[i].name) && (value = elements[i].value))
            pairs.push(name + "=" + encodeURIComponent(value));
    }
    return pairs.join("&");
}

function validate_registration(){
var validate=true;
if(document.register_form.first.value.length < 2 ){
	document.getElementById("first_error").style.display="block";
	validate = false;
} else
	document.getElementById("first_error").style.display="none";

if(document.register_form.last.value == ""){
	document.getElementById("last_error").style.display="block";
	validate = false;
} else
	document.getElementById("last_error").style.display="none";

if(!echeck(document.register_form.email.value)){
	document.getElementById("email_error").style.display="block";
	validate = false;
} else
	document.getElementById("email_error").style.display="none";

if(document.register_form.username.value.length < 4){
	document.getElementById("username_error").style.display="block";
	validate = false;
} else
	document.getElementById("username_error").style.display="none";

if(document.register_form.zip.value == ""){
	document.getElementById("zip_error").style.display="block";
	validate = false;
} else
	document.getElementById("zip_error").style.display="none";

if(document.register_form.password.value == ""){
	document.getElementById("password_error").style.display="block";
	validate = false;
} else
	document.getElementById("password_error").style.display="none";

if(document.register_form.password.value != document.register_form.password2.value){
	document.getElementById("password2_error").style.display="block";
	validate = false;
} else
	document.getElementById("password2_error").style.display="none";

return validate;
}





function ChangeCSSRule(xElement,xValue) {
	var strCSS = 'cssRules';
	if(document.all) {
		strCSS = 'rules';
	}
	for (var S = 0; S < document.styleSheets.length; S++){
		document.styleSheets[S][strCSS][0].style[xElement] = xValue;
	}
}



	function changecss(theClass,element,value) {
	//Last Updated on May 21, 2008
	//documentation for this script at
	//http://www.shawnolson.net/a/503/altering-css-class-attributes-with-javascript.html
		var cssRules;
		if (document.all) {
			cssRules = 'rules';
		}else if (document.getElementById) {
			cssRules = 'cssRules';
		}
		var added = false;
		for (var S = 0; S < document.styleSheets.length-1; S++){
			//alert(document.styleSheets[S]);
			for (var R = 0; R < document.styleSheets[S][cssRules].length; R++) { //
				if (document.styleSheets[S][cssRules][R].selectorText == theClass) {
					if(document.styleSheets[S][cssRules][R].style[element]){
						document.styleSheets[S][cssRules][R].style[element] = value;
						added=true;
						break;
					}
				}
			}

			if(!added){
				if(document.styleSheets[S].insertRule){
					document.styleSheets[S].insertRule(theClass+' { '+element+': '+value+'; }',document.styleSheets[S][cssRules].length);
				} else if (document.styleSheets[S].addRule) {
					document.styleSheets[S].addRule(theClass,element+': '+value+';');
				}
			}
		}
	}

	function checkUncheckAll(theElement) {
		var theForm = theElement.form, z = 0;
		for(z=0; z<theForm.length;z++){
			if(theForm[z].type == 'checkbox' && theForm[z].name != 'checkall'){
				theForm[z].checked = theElement.checked;
			}
		}
	}
