/**Disables a form**/
function disableForm(theform) {
	if (theform != undefined) {
		if (document.all || document.getElementById) {
			for (i = 0; i < theform.length; i++) {
				var formElement = theform.elements[i];
				if (true) {
					formElement.disabled = true;
				}
			}
		}
	}
}


/**Enables a form**/
function enableForm(theform) {
	if (document.all || document.getElementById) {
		for (i = 0; i < theform.length; i++) {
			var formElement = theform.elements[i];
			if (true) {
				formElement.disabled = false;
			}
		}
	}
}


/**Add Items To Cart**/
function addAllItemsToCart(lastId) {
	
	for(x=1;x<=lastId;x++) {

		if(document.getElementById('quantity'+x).value >= 1)
		{
			AddToCartIdItemValue = 'form_select' + document.getElementById('productIdItem'+x).value;
			addToCart();
		}
	}
}


/**Checks if all product options are choosed before add it to cart**/
function checkBanks(theForm)
{
	var costs = theForm.elements["cost[]"];
	var costless = theForm.elements["costless[]"];

	if (costs != undefined)
		if (isArray(costs))
			for (i=0; i < costs.length; i++)
				{
					if (costs[i].value==0)
						return 0;
				}
		else
			for (i=0; i < costs.length; i++)
			{
				if (costs[i].value==0 && costs[i].selected == true)
					return 0;
			}
	
	if (costless != undefined)
		if (isArray(costless))	
			for (i=0; i < costless.length; i++)
			{
				if (costless[i].value==0)
					return 0;
			}
		else
			for (i=0; i < costless.length; i++)
			{
				if (costless[i].value==0 && costless[i].selected == true)
					return 0;
			}
}


/*checks if an object is an Array of Selects, or just one Select
	using try/catch because "constructor" property does not work on IE
*/
function isArray(obj)
{
	try
	{
		// if this operation does not get any errors, it means the object is an array
		var test = obj[0].options[0].value;
		return true;
	}
	catch(err)
	{
		return false;
	}
}


/**Clear Engraving Fields**/
function clearEngravingFields(idItem)
{
	formName = 'form_select' + idItem;
	
	if(document.getElementById(formName) == null)
	{
		formName = 'form_select';
	}
	
	var field = document.getElementById(formName);
	selects = field['customField[]'];
	
	for (i=0; i < selects.length; i++)
	{
		if(i < 3)
		{
			selects[i].value = "";
		}
	}
}


/*Limit characters on text area*/
function checkEngraving(idItem)
{
	formName = 'form_select' + idItem;
	
	if(document.getElementById(formName) == null)
	{
		formName = 'form_select';
	}
	
	var field = document.getElementById(formName);
	
	for (i=0; i < field.length; i++)
	{
		if(field[i].value == "engraving" && !field[i].checked)
		{
			field[i].checked = 1;
			catAddonPrices(idItem);
		}
	}
}


/*Limit characters on text area*/
function textCounter(maxlimit, id) {
	
	var field = document.getElementsByName('customField[]');
	
	for (i=0; i < field.length; i++)
	{
		if (field[i].value.length > maxlimit && i==id)
		field[i].value = field[i].value.substring(0, maxlimit);
	}
}


//Check Password
function validatePassword(str) {
	var er = new RegExp(/[A-Za-z]/);
	var er2 = new RegExp(/[0-9]/);
    if(er.test(str) && er2.test(str))
    {
    	return true;
    }
    else
    {
    	alert("Password not a valid");
    	return false;
    }
}


//AJax function to save new password for customer account
function savePassword()
{
	disableForm(document.getElementById('setPassword'))
	
	password = document.getElementById('password').value;
	if(!validatePassword(password))
	{
		enableForm(document.getElementById('setPassword'))
		return false;
	}
	
	ajaxObj.method="GET";
	ajaxObj.call("action=savePassword&password=" + password + "&idUser=" + document.getElementById('idUser').value, savePasswordResponse);
}


//Ajax response
function savePasswordResponse(response)
{
	document.getElementById('savePasswordResponse').innerHTML = response;
}


/**Open More Pictures screen**/
function morePictures(idItem)
{
	ajaxObj.method="GET";
	ajaxObj.call("action=loadProductImages&id=" + idItem, morePicturesResponse);
}


function morePicturesResponse(response)
{
	document.getElementById('morePictures' + response['id_item']).innerHTML = response['content'];
	document.getElementById('popup' + response['id_item']).style.display = 'block';
}


/**Close More Pictures window**/
function closeWindow(idItem)
{
	document.getElementById('popup' + idItem).style.display = 'none';
}

/**Customer Review Module**/
/** textarea count length **/
function countLengthReview() {
	var field = document.getElementById('review');
	var maxlimit = 1000;
	var remaining = maxlimit - field.value.length;
	
	if(remaining >= 0) {
		document.getElementById('countReview').innerHTML = remaining;
	} else {
		document.getElementById('countReview').innerHTML = "<b>Limit is 1000</b>";
	}
	
	
	if (field.value.length > maxlimit)
		field.value = field.value.substring(0, maxlimit);
}

/**Set stars of review **/
function setRate(id) {
	
	document.getElementById('rate').value = id;
	
	for(x=1;x<=5;x++) {
		if(x<=id)
			document.getElementById('rate'+x).src='/powerup/img/starReview.gif';
		else
			document.getElementById('rate'+x).src='/powerup/img/starReview_2.gif';
	}
	
}

function bookmarksite(title,url){
if (window.sidebar) // firefox
	window.sidebar.addPanel(title, url, "");
else if(window.opera && window.print){ // opera
	var elem = document.createElement('a');
	elem.setAttribute('href',url);
	elem.setAttribute('title',title);
	elem.setAttribute('rel','sidebar');
	elem.click();
} 
else if(document.all)// ie
	window.external.AddFavorite(url, title);
}