// JavaScript Document
function addNewOption(OptBlockNum)
{
	var OptBlock = 'NewOption' + OptBlockNum;
	var NewOptBlock = 'NewOption' + (OptBlockNum+1);
	var NewOptRowBlock = 'NewRow' + OptBlockNum + '_1';
	if(!OptBlock || !document.getElementById(OptBlock)){
		alert("Display element not defined.");
		return false;	
	}	
	document.getElementById('titleCount').value += 1;
	var elm = document.getElementById(OptBlock);
	var innerhtml = '<TABLE width="100%" border="0" cellspacing="0" cellpadding="0" align="center">\r\n';
	innerhtml += '<TR><TD width="20%" height="25" align="right" valign="middle"><strong>Option Title:</strong></TD>\r\n';
	innerhtml += '<TD align="left" valign="middle">&nbsp;<input type="text" name="txtTitle['+OptBlockNum+']" id="txtTitle'+OptBlockNum+'" />\r\n';
	innerhtml += '&nbsp;<input type="button" name="btnDeleteOption" onClick="deleteBlock(\''+OptBlock+'\', \'title\')" value="Delete Option" class="Button" /></TD>\r\n';	
	innerhtml += '</TR></TABLE>\r\n';
	innerhtml += '<div id="'+NewOptRowBlock+'" align="center" class="paddingLR"><input type="button" name="btnAddNewRow" onClick="addNewRow('+OptBlockNum+', 1)" value="Add New Row" class="Button" /></div>';
	elm.innerHTML = innerhtml;
	var newOptDiv = document.createElement('div');
	newOptDiv.setAttribute("id", NewOptBlock);
	newOptDiv.setAttribute("align", "center");
	newOptDiv.setAttribute("class", "paddingLR paddingTB");
	newOptDiv.innerHTML = '<input type="button" name="btnAddNewOption" onClick="addNewOption('+(OptBlockNum+1)+')" value="Add New Option" class="Button" />';
	document.getElementById('CustomeContainer').appendChild(newOptDiv);
}

function addNewRow(OptBlockNum, RowBlockNum)
{
	var OptRowBlock = 'NewRow' + OptBlockNum + '_' + RowBlockNum;
	var NewOptRowBlock = 'NewRow' + OptBlockNum + '_' + (RowBlockNum+1);	
	if(!OptRowBlock || !document.getElementById(OptRowBlock)){
		alert("Display element not defined.");
		return false;	
	}
	document.getElementById('rowCount').value += 1;
	var elm = document.getElementById(OptRowBlock);
	var innerhtml = '<TABLE width="100%" border="0" cellspacing="0" cellpadding="0">\r\n';
	innerhtml += '<TR><TD width="20%" height="25" align="right" valign="middle">Value:</TD>\r\n';
	innerhtml += '<TD width="15%" align="left" valign="middle">&nbsp;<input type="text" name="txtValue['+OptBlockNum+']['+RowBlockNum+']" id="txtValue'+OptBlockNum+'_'+RowBlockNum+'" /></TD>\r\n';
	innerhtml += '<TD width="10%" align="right" valign="middle">Additional Price:</TD>\r\n';
	innerhtml += '<TD align="left" valign="middle">&nbsp;<input type="text" name="txtPrice['+OptBlockNum+']['+RowBlockNum+']" id="txtPrice'+OptBlockNum+'_'+RowBlockNum+'" />\r\n';
	innerhtml += '&nbsp;<input type="button" name="btnDeleteRow" onClick="deleteBlock(\''+OptRowBlock+'\', \'row\')" value="Delete Row" class="Button" /></TD>\r\n';	
	innerhtml += '</TR></TABLE>\r\n';
	elm.innerHTML = innerhtml;
	var newValDiv = document.createElement('div');
	newValDiv.setAttribute("id", NewOptRowBlock);
	newValDiv.setAttribute("align", "center");
	newValDiv.setAttribute("class", "paddingLR");
	newValDiv.innerHTML = '<input type="button" name="btnAddNewRow" onClick="addNewRow('+OptBlockNum+', '+(RowBlockNum+1)+')" value="Add New Row" class="Button" />';
	document.getElementById('NewOption'+OptBlockNum).appendChild(newValDiv);
}

function deleteBlock(blockElm, type)
{
	if(!document.getElementById(blockElm)){
		alert("Element not defined.");
		return false;	
	}
	document.getElementById(blockElm).innerHTML = '';
	document.getElementById(blockElm).className = '';
	document.getElementById(type+'Count').value -= 1;	
}

//validation add option, value
function validateFrmProductOptions(frm)
{
	if(document.getElementById('titleCount').value == 0){
		alert('Please enter a custom option title.');
		addNewOption(1);
		document.getElementById('txtTitle1').focus();
		return false;
	}
	if(document.getElementById('rowCount').value == 0){
		alert('Please enter a value for custom option.');
		addNewRow(1, 1);
		document.getElementById().focus();
		return false;
	}
	
	for(var i=0; i < frm.length; i++)
	{
		if(frm.elements[i].type == 'text'){
			if(!frm.elements[i].value){
				alert('Required field.');
				frm.elements[i].focus();
				return false;
			}
			if(frm.elements[i].name.indexOf('Price') > -1){
				if(isNaN(frm.elements[i].value)){
					alert('Price should be numeric.');
					frm.elements[i].focus();
					return false;
				}
			}
		}
	}
	return true;
}

//validation update option, value
function validateFrmEdit(frm)
{	
	for(var i=0; i < frm.length; i++)
	{
		if(frm.elements[i].type == 'text'){
			if(!frm.elements[i].value){
				alert('Required field.');
				frm.elements[i].focus();
				return false;
			}
			if(frm.elements[i].name.indexOf('Price') > -1){
				if(isNaN(frm.elements[i].value)){
					alert('Price should be numeric.');
					frm.elements[i].focus();
					return false;
				}
			}
		}
	}
	return true;
}

//validation delete option, value
function confirmDelete()
{
	return confirm("Are you sure?");
}

//frontend shopping page change price as per option
function togglePrice()
{
	var optionprice = 0;
	$('.customoptionGroup').each(function(index){
		if ($(this).val()>0) {
			optionprice += parseFloat($('#customoptionPrice'+$(this).val()).val());
		}
	});
	var subtotal = parseFloat($('#subtotal').val());
	var listprice = parseFloat($('#listprice').val());
	var ourprice = listprice - subtotal - optionprice;
	var saveamount = ourprice/listprice*100; 
	$('#stotal').html(parseFloat(subtotal + optionprice).toFixed(2));
	if(parseInt(saveamount)<0) {
		$('#saveamount').html(0);
	}
	else {
		$('#saveamount').html(parseInt(saveamount));
	}
}

//ajax request to update tmpshopping table for custom option
function updateCartForOptions(action,root)
{
	var elmDDs = document.getElementsByTagName('select');
	var elmDDsLen = elmDDs.length;
	if(document.getElementById('customoption'))
	{
	if(document.getElementById('customoption').value!='nan')
	  	if(document.getElementById('optionvalue').value=="")
		  { alert("Please Confirm you have selected a value");
		  return false;
		  }
	}
	if(elmDDsLen && elmDDsLen > 0 && document.getElementById('pid')) {
		var pid = document.getElementById('pid').value;
		var elmVal = Array();
		for(var i = 0; i < elmDDsLen; i++)
		{ 
			//if(elmDDs[i].value.indexOf('#') > -1){
				//var tmpElmValArr = elmDDs[i].value.split('#');
			if(document.getElementById('optionvalue')){
				if(document.getElementById('optionvalue').value!="")
					elmVal[i] = document.getElementById('optionvalue').value;
			}
			//}
		}
		
		if(elmVal.length > 0) {
			var optionValues = elmVal[0];
			if(optionValues!='') {
				var url = root+"product_details.php?rand="+(Math.random()*1000)+"&type=ajaxupdate&pid="+pid+"&customoptions="+optionValues;
			}
			else {
			  var url = root+"product_details.php?rand="+(Math.random()*1000)+"&type=ajaxupdate&pid="+pid;
			}
	
			xmlhttp.onreadystatechange=function(){
				if (xmlhttp.readyState==4) {
					// 4 = "loaded"					
					if(xmlhttp.responseText.indexOf("Success") > -1) {
						if(action == 'cart') {
							window.location = root+'add_to_cart.php';
						}
						else {
							document.frm.submit();
						}
					}
					else {
						alert("Problem updating DB.");
						return false;
					}
				}
			};
			xmlhttp.open("GET",url,true);
			xmlhttp.send(null);
		}
		else {
			if(action == 'cart') {
				window.location = root+'add_to_cart.php';
			}
			else {
				document.frm.submit();
			}
		}
	}
	else {
		if (action == 'cart'){
			window.location = root+'add_to_cart.php';
		}
		else{
			document.frm.submit();
		}
	}
}
