// JavaScript Document

function addslashes(str) {
	str=str.replace(/\'/g,'\\\'');
	str=str.replace(/\"/g,'\\"');
	str=str.replace(/\\/g,'\\\\');
	str=str.replace(/\0/g,'\\0');
	return str;
}
function stripslashes(str) {
	str=str.replace(/\\'/g,'\'');
	str=str.replace(/\\"/g,'"');
	str=str.replace(/\\\\/g,'\\');
	str=str.replace(/\\0/g,'\0');
	return str;
}

// ----- Site Specific Functions
var addproductsizecount = 0;

// This function will create a child element with the base id you pass in, inside the parent id you pass in
function addproductsize(childEl, parentEl, cellcount) {
	var parentObj = document.getElementById(parentEl);
	var parenthtml = parentObj.innerHTML;
	/*if(addproductsizecount == 0) {
		parent.innerHTML = parenthtml + "<br /><b>New Sizes</b><br /><br />";
		parenthtml = parent.innerHTML;
	} */
	//alert(parenthtml);
	var newHTML = "";
	var formvalues = new Array();
	// IF this is not the first one they've added on this page, save the values they put in
	if(addproductsizecount > 0) {
		for(j=0; j<addproductsizecount; j++) {
			formvalues[j] = new Array();
			if(childEl.constructor == Array) {
				for(i=0; i<childEl.length; i++) {
					childid = "new" + childEl[i] + "[" + j + "]";
					//alert(document.getElementById(childid).value);
					formvalues[j][i] = document.getElementById(childid).value;
				}
			}
		}
	}
	if(childEl.constructor == Array) {
		var childid = new Array();
		newHTML = newHTML + "<tr>";
		// Create the child elements
		for(i=0; i<childEl.length; i++) {
			childid[i] = childEl[i] + "[" + addproductsizecount + "]";
			firstChar = childEl[i].charAt(0);
			strLength = childEl[i].length - 1;
			if(childEl[i].charAt(strLength) == "s") {
				remainStr = childEl[i].slice(1,-1);
			}
			else {
				remainStr = childEl[i].slice(1);
			}
			reStr = firstChar.toUpperCase() + remainStr;
			newHTML = newHTML + "<td><input type=\"text\" name=\"new" + childid[i] + "\" id=\"new" + childid[i] + "\" /></td>";
		}
		if(childEl.length < cellcount) {
			var j = cellcount - childEl.length;
			for(i=0; i<j; i++) {
				newHTML = newHTML + "<td>&nbsp;</td>";
			}
		}
		newHTML = newHTML + "</tr>";
		parentObj.innerHTML = parenthtml + newHTML; // This line causes problems in IE
	}
	
	
	else if(childEl.constructor == String) {
		firstChar = childEl.charAt(0);
		strLength = childEl.length - 1;
		if(childEl.charAt(strLength) == "s") {
			remainStr = childEl.slice(1,-1);
		}
		else {
			remainStr = childEl.slice(1);
		}
		reStr = firstChar.toUpperCase() + remainStr;
		var childid = childEl + "[" + addproductsizecount + "]";
		parentObj.innerHTML = parenthtml + "<br />" + reStr + "<input type=\"text\" name=\"new" + childid + "\" />";
	}
	else {
		parentObj.innerHTML = parenthtml + "<br /><b>WARNING:</b> An error occured, wrong variable type supplied in function addproductsize(). A " + child.constructor + " was supplied, expecting an Array or a String.";
	}
	
	// Go back and put the saved values back into the form
	if(addproductsizecount > 0) {
		for(j=0; j<addproductsizecount; j++) {
			for(i=0; i<childEl.length; i++) {
				childid = "new" + childEl[i] + "[" + j + "]";
				//alert(childid);
				document.getElementById(childid).value = formvalues[j][i];
			}
		}
	}
		
	//alert(parenthtml);
	addproductsizecount++;
}

function changeprice(objid, price) {
	var obj = document.getElementById(objid);
	obj.innerHTML = price;
}

// ----- Global Functions

// This function will change the mouse to be the hand (or link style) mouse icon
function mousehand() {
	document.body.style.cursor="pointer";
}

// This function will change the mouse to be the arrow (or standard style) mouse icon
function mousearrow() {
	document.body.style.cursor="default";
}

// This function will show and hide elements based on the id you pass into the function
function showhide(objid) {
	var obj = document.getElementById(objid);
	var s = obj.style.display;
	if(s == "block") {
		hideobj(objid);
	}
	else {
		showobj(objid);
	}
}

// This function will show the plan details for the clicked plan, and hide all others
function showplandetails(objid, total) {
	hideobj('default');
	for(i=0; i<total; i++) {
		hidobj = "pd" + i;
		hideobj(hidobj);
	}
	
	showobj(objid);
}

// This function will change an elements text color based on the id you pass in
function changeFontColor(objid, mycolor) {
	obj = document.getElementById(objid);
	obj.style.color = mycolor;
}

// This function will show an element based on the id you pass in
function showobj(objid) {
	var obj = document.getElementById(objid);
	obj.style.display = "block";
}

// This function will hide an element based on the id you pass in
function hideobj(objid) {
	var obj = document.getElementById(objid);
	obj.style.display = "none";
}

// This function will check the box by the name you pass into the function
function checkthisbox(objid) {
	var obj = document.getElementById(objid);
	obj.checked = true;
	obj.selected = true;
}

// This function submits the form that you pass in
function formSubmit(myform)
{
	myform.submit()
}

// This function checks the box that you pass in, and then submits the form you pass in
function checkandsubmit(objid, myform) {
	checkthisbox(objid);
	formSubmit(myform);
}

// This function autofills shipping address with the fields from the rest of the form if the checkbox is checked
function fillshipaddress(ischecked) {
	var address = document.getElementById('address');
	var city = document.getElementById('city');
	var state = document.getElementById('state');
	var zip = document.getElementById('zip');
	var shipaddress = document.getElementById('shipaddress');
	var shipcity = document.getElementById('shipcity');
	var shipstate = document.getElementById('shipstate');
	var shipzip = document.getElementById('shipzip');
	
	if(ischecked) {
		shipaddress.value = address.value;
		shipcity.value = city.value;
		shipstate.value = state.value;
		shipzip.value = zip.value;
	}
	else {
		shipaddress.value = "";
		shipcity.value = "";
		shipstate.value = "";
		shipzip.value = "";
	}
}

// This function will check/uncheck all checkboxes based on the id you pass into the function
function checkallboxes(objid,count) {
	var i;
	var j=0;
	
	for(i = 0; i <= count; i++) {
		var newobjid = objid + i;
		
		var obj = document.getElementById(newobjid);
		if(j == 0) {
			var s = obj.checked;
			j++;
		}
		if(s == true) {
			obj.checked = false;
		}
		else {
			obj.checked = true;
		}
	}
}

// This function will check to see if the value of a form is equal to the condition you supplied
// If it is, it will show the objid you passed in, otherwise it will hide the element
function getSelectedValue(value,condition,objid) {
	if(value == condition) {
		showobj(objid);
	}
	else {
		hideobj(objid);
	}
}

// This function will ask for delete confirmation of item id
// If they confirm it will send them to url, where if they have the correct permissions, the item will be deleted
function deletefromdb(id,url) {
	input_box=confirm("Are you sure you want to delete this?");
	
	if(input_box) {
		str1 = url.concat("task=delete&id=");
		str2 = str1.concat(id);
		window.location = str2;
	}
}
	
// This function sets the max length for the textarea object
function ismaxlength(obj) {
	var mlength=obj.getAttribute? parseInt(obj.getAttribute("maxlength")) : ""
	if (obj.getAttribute && obj.value.length>mlength)
	obj.value=obj.value.substring(0,mlength)
}

function checkext(upload_field) {     
	// this is just an example of checking      
	// image file extension - jpg/jpeg     
	var re_text = /\.jpeg|\.jpg/i;     
	var filename = upload_field.value;     
	/* Checking file type */     
	if (filename.search(re_text) == -1) {         
		alert("Please select JPEG file");         
		upload_field.value = '';     
	}     
	return true;
}

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_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_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_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];}
}

// This function is for the pop ups
// Updated 2-14-08

function popup(mylink, windowname) {
	if(!window.focus) {
		return true;
	}
	var href;
	if(typeof(mylink) == 'string') {
		href=mylink;
	}
	else {
		href=mylink.href;
	}
	window.open(href, windowname, 'width=300,height=600,scrollbars=yes');
	return false;
}
