	
	function  addCart(){
		
		var ipAddressString = document.getElementById("ipAddressID").value;
		dwr.engine.setAsync(false); 
		paintingServiceDWR.addIPAddress(ipAddressString,'2');
		
		
		var radio_obj = document.getElementsByName("size");
		var fag = false;
		
		for(var i =0;i < radio_obj.length;i ++){
			if(radio_obj[i].checked == true){
				fag = true;
				break;
			}
		}
		if(fag){
			document.cartForm.submit();
		}else{
			var maintain_proportion = document.getElementById("maintain_proportion");
			if(maintain_proportion.checked){
				var width =	document.getElementById("width").value ;
				var width_fraction = document.getElementById("width_fraction").value ; 
				var height = document.getElementById("height").value ; 
				var height_fraction = document.getElementById("height_fraction").value ;
				
				if(width > 0 && height > 0 && width_fraction >= 0 && height_fraction >= 0){
					document.cartForm.submit();
				}else{
					alert("Please select a size");
				}
			}else{
				var mysize = document.getElementById("mysize").value;
				if(mysize == null || mysize == ""){
					alert("Please select a size");
				}else{
					document.cartForm.submit();
				}
			}
		}
	}
	function initTextValue(id,value){
		if(value == "-Email-"){
			document.getElementById(id).value = "";
		}else if(value == ""){
			document.getElementById(id).value = "-Email-";
		}
	}
	function initPasswordValue(id,value){
		if(value == "oilpainting"){
			document.getElementById(id).value = "";
		}else if(value == ""){
			document.getElementById(id).value = "oilpainting";
		}
	}
	function addCartToOrders(){
		
		var ipAddressString = document.getElementById("ipAddressID").value;
	
		dwr.engine.setAsync(false); 
		paintingServiceDWR.addIPAddress(ipAddressString,'1');
		
		
		var carts = document.getElementsByName("cartId");
		
		
		var carts_v = "";
		for(var i = 0;i < carts.length;i++){
			if(carts[i].checked == true){
				carts_v += carts[i].value+",";
			}
		}
		document.getElementById("carts").value = carts_v;
		
		
		
		document.cart_cookie_form.submit();
	}
	
	function addCartToLogin() {
		
		var ipAddressString = document.getElementById("ipAddressID").value;
	
		dwr.engine.setAsync(false); 
		paintingServiceDWR.addIPAddress(ipAddressString,'1');
		
		document.getElementById("loginDiv").style.display="block";
	}
	function closeBox(){
		document.getElementById("loginDiv").style.display="none";
	}
	function showClogin(){
		document.getElementById("clogin_1").style.display="none";
		document.getElementById("clogin_2").style.display="block";
	}
	
	function changeDivStyle(id){
		var style = document.getElementById(id).style.display ;
		if(style == "none"){
			document.getElementById(id).style.display = "block";
		}
	}
	function addresscheck(id,divId){
		var obj = document.getElementById(id);
		var editflag = document.getElementById("editflag");
		editflag.value = 0;
		var div = document.getElementById(divId);
		
		if(obj.checked = true){
			div.style.display = "none";
			obj.checked = false;
		}
	}
	function validateaddress(){
		 var fag = true;
		var baddress_arr = document.getElementById("baddressid").getElementsByTagName("input");
		for(var i =0; i< baddress_arr.length;i++){
			
		}
	}
function divControl(id,divId){
	var radio_obj = document.getElementById(id);
	var div_obj = document.getElementById(divId);
	if(radio_obj.checked == true){
		div_obj.style.display = "none";
		radio_obj.checked = false;
	}else{
		radio_obj.checked = true;
		div_obj.style.display = "block";
	}
}
function validateAdd(init_null){

	var saddressFirstname = document.getElementById("saddressFirstname").value;
	var saddressLastname = document.getElementById("saddressLastname").value;
	var saddressStreetaddress = document.getElementById("saddressStreetaddress").value;
	var saddressStreetaddressTwo = document.getElementById("saddressStreetaddressTwo").value;
	
	var scountry_sel = document.getElementById("saddressCountry").value;
	var sstate_sel = document.getElementById("saddressState_select").value;
	
	var saddressCity = document.getElementById("saddressCity").value;		
	
	var saddressState = document.getElementById("saddressState").value;
	var saddressState_select = document.getElementById("saddressState_select").value;
	
	var saddressZip = document.getElementById("saddressZip").value;		
	var saddressDayphone = document.getElementById("saddressDayphone").value;		
	var saddressCellphone = document.getElementById("saddressCellphone").value;		
	
	var er_address = ["First Name is null","Last Name is null","Street Address  is null","Country is null","City is null","State/Province/Region cannot be empty!"
					,"Zip is error","Phone is null"];
	
	var i = 0;
	var j = 0;
	var k = 0;
	
	if(saddressFirstname == "" ){
		i++;
		j++;
		k = 1;
		
		
	}else{
		i++
	}
	if(saddressLastname == "" ){
		i++;
		j++;
		k = 2;
		
		
	}else{
		i++
	}
	if(saddressStreetaddress == "" && saddressStreetaddressTwo == ""){
		i++;
		j++;
		k = 3;
		
		
	}else{
		i++
	}
	if(scountry_sel == "0" ){
		i++;
		j++;
		k = 4;
		
		
	}else{
		i++
	}
	if(saddressCity == "" ){
		i++;
		j++;
		k = 5;
		
		
	}else{
		i++
	}
	if(saddressState == "" && saddressState_select == "0"){
		i++;
		j++;
		k = 6;
		
		
	}else{
		i++
	}
	if(saddressState_select == "" || saddressState_select == "0"){
		i++;
		j++;
		k = 6;
		
	}else{
		i++
	}
	var numpattern = /^\d+$/;
	
	if(saddressZip != "" ){

		i++
		
	}else{
		i++;
		j++;
		k = 7;
	}
	if(saddressDayphone == "" && saddressCellphone == ""){
		i++;
		j++;
		k = 8;
		
	}else{
		i++
	}
	
	
	if(( j == 0) || (init_null && j > 0 && j == i)){
		return true;
	}else{
		if(k > 0){
			alert(er_address[k - 1]);
		}
		return false;
	}
}

function submitOrder(){
	var saddress = document.getElementsByName("saddress");

	var checked;
	
	if(saddress != null){
		var s_fag = false;
		
		for(var i = 0; i <saddress.length; i++){
			if(saddress[i].checked){
				checked = saddress[i].id;
				s_fag = true;
				break;
			}
		}
		
		if(!s_fag){
			alert("please select a Shipping Address");
			return;
		}
	}
	
	if(checked == document.getElementById("screateradio") ){
		var saddressState =  document.getElementById("saddressState").value;
		if(saddressState != 0){
			document.getElementById("saddressState_select").value = document.getElementById("saddressState").value;
		}
		if(validateAdd(false)){
			document.checkoutaform.submit();
		}
	}else{
		var saddressState =  document.getElementById("saddressState").value;
		var editflag = document.getElementById("editflag").value;
		if(saddressState != 0){
			document.getElementById("saddressState_select").value = document.getElementById("saddressState").value;
		}
		if(editflag == 0){
			document.checkoutaform.submit();
		}
		if(editflag == "edit" && validateAdd(false)){
			document.checkoutaform.submit();
		}
	}
		
}

function submitOrderToCredit(){
	var saddress = document.getElementsByName("saddress");

	var checked;
	var o_fag = false;
	
	if(saddress != null){
		var s_fag = false;
		
		for(var i = 0; i <saddress.length; i++){
			if(saddress[i].checked){
				checked = saddress[i].id;
				s_fag = true;
				break;
			}
		}
		
		if(!s_fag){
			alert("please select a Shipping Address");
			return;
		}
	}
	
	if(checked == "screateradio" ){
		if(validateAdd(false)){
			o_fag = true;
		}
	}else{
		o_fag = true;
	}
	
	if(o_fag){
		
		var saddress;
		
		var obj=document.getElementsByName("saddress");
	    if(obj!=null){
	        var i;
	        for(i=0;i<obj.length;i++){
	            if(obj[i].checked){
	                saddress = obj[i].value;            
	            }
	        }
	    }
		
		
		var saddressFirstname = document.getElementById("saddressFirstname").value;
		var saddressLastname = document.getElementById("saddressLastname").value;
		var saddressStreetaddress = document.getElementById("saddressStreetaddress").value;
		var saddressStreetaddressTwo = document.getElementById("saddressStreetaddressTwo").value;
		
		var scountry_sel = document.getElementById("saddressCountry").value;
		var sstate_sel = document.getElementById("saddressState_select").value;
		
		var saddressCity = document.getElementById("saddressCity").value;		
		
		var saddressState = document.getElementById("saddressState").value;
		var saddressState_select = document.getElementById("saddressState_select").value;
		
		var saddressZip = document.getElementById("saddressZip").value;		
		var saddressDayphone = document.getElementById("saddressDayphone").value;		
		var saddressCellphone = document.getElementById("saddressCellphone").value;	
		var priceCount = document.getElementById("priceCount").innerHTML;	

		var submitForm = getNewSubmitForm(); 
		
		createNewFormElement(submitForm, "saddress", saddress);
		createNewFormElement(submitForm, "saddressFirstname", saddressFirstname);
		createNewFormElement(submitForm, "saddressLastname", saddressLastname);
		createNewFormElement(submitForm, "saddressStreetaddress", saddressStreetaddress);
		createNewFormElement(submitForm, "saddressStreetaddressTwo", saddressStreetaddressTwo);
		createNewFormElement(submitForm, "scountry_sel", scountry_sel);
		createNewFormElement(submitForm, "sstate_sel", sstate_sel);
		createNewFormElement(submitForm, "saddressCity", saddressCity);
		createNewFormElement(submitForm, "saddressState", saddressState);
		createNewFormElement(submitForm, "saddressState_select", saddressState_select);
		createNewFormElement(submitForm, "saddressZip", saddressZip);
		createNewFormElement(submitForm, "saddressDayphone", saddressDayphone);
		createNewFormElement(submitForm, "saddressCellphone", saddressCellphone);
		createNewFormElement(submitForm, "priceCount", priceCount);
		
		 submitForm.action= "/creditcartcheckout.do";
		 submitForm.submit();
	}
}


function getNewSubmitForm(){
 var submitForm = document.createElement("FORM");
 document.body.appendChild(submitForm);
 submitForm.method = "POST";
 return submitForm;
}

//helper function to add elements to the form
function createNewFormElement(inputForm, elementName, elementValue){
 var newElement = document.createElement("input");
 newElement.setAttribute("name", elementName);
 newElement.setAttribute("type", "hidden");
 inputForm.appendChild(newElement);
 newElement.value = elementValue;
 return newElement;
}

//function that creates the form, adds some elements
//and then submits it
function createFormAndSubmit(){
 var submitForm = getNewSubmitForm();
 createNewFormElement(submitForm, "field1", "somevalue");
 createNewFormElement(submitForm, "field2", "somevalue");
 submitForm.action= "someURL";
 submitForm.submit();
}

function createuser(){
	var userMail = document.getElementById("userEmail1").value;
	var userMail2 = document.getElementById("userEmail2").value;
	
	var userPassword1 = document.getElementById("userPassword1").value;
	var userPassword2 = document.getElementById("userPassword2").value;
	
	var emailpattern = /^([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+@([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+\.[a-zA-Z]{2,3}$/;

	if(userMail == null || userMail == ""){
		alert("Email Address is empty ");
	}else if(!emailpattern.test(userMail)){
		alert("Email Address is error");
	}else if(userMail2 == null || userMail2 == ""){
		alert("Confirm Email Address is empty ");
	}else if(!emailpattern.test(userMail2)){
		alert("Confirm Email Address is error");
	}else if(userPassword1 == null || userPassword1 == ""){
		alert("Password is empty ");
	}else if(userPassword1.length < 4 || userPassword1.length > 12){
		alert("Passwords do not match.");
	}else if(userPassword2 == null || userPassword2 == ""){
		alert("Confirm Password is empty ");
	}else if(userPassword2 != userPassword1){
		alert("Passwords do not match.");
	}else{
		if(validateAdd(true)){
		
		
			document.createuserForm.submit();
		}
	}
	
}


var islogining = false;
function callBackBoolean(islogin) {
	islogining = islogin;
}

function createusertocarts(){
	var userMail = document.getElementById("userEmail1").value;
	var userMail2 = document.getElementById("userEmail2").value;
	
	var userPassword1 = document.getElementById("userPassword1").value;
	var userPassword2 = document.getElementById("userPassword2").value;
	
	var certificate = document.getElementById("certificate");
	var certificate_reg = document.getElementById("certificate_reg");
	
	var emailpattern = /^([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+@([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+\.[a-zA-Z]{2,3}$/;

	if(userMail == null || userMail == ""){
		alert("Email Address is empty ");
	}else if(!emailpattern.test(userMail)){
		alert("Email Address is error");
	}else if(userMail2 == null || userMail2 == ""){
		alert("Confirm Email Address is empty ");
	}else if(!emailpattern.test(userMail2)){
		alert("Confirm Email Address is error");
	}else if(userPassword1 == null || userPassword1 == ""){
		alert("Password is empty ");
	}else if(userPassword1.length < 4 || userPassword1.length > 12){
		alert("Passwords do not match.");
	}else if(userPassword2 == null || userPassword2 == ""){
		alert("Confirm Password is empty ");
	}else if(userPassword2 != userPassword1){
		alert("Passwords do not match.");
	}else{
		dwr.engine.setAsync(false);	
		paintingServiceDWR.isRegByCorrectEmail(userMail,callBackBoolean);
		
		if(islogining) {
			document.getElementById("regTip").innerHTML = "There's already a account associated with this email address. Please sign in!";
			return;
		}
		
		
			
			var carts = document.getElementsByName("cartId");
			
			var carts_v = "";
			for(var i = 0;i < carts.length;i++){
				if(carts[i].checked == true){
					carts_v += "true"+",";
				}else {
					carts_v += "false"+",";
				}
			}
			
			document.getElementById("carts3").value = carts_v;
			certificate_reg.value = certificate.value;
			document.createuserForm.submit();

	}
	
}

function changeCountry(country,address_type){
	if(country == "US" ){
		document.getElementById(address_type+"_province_text").style.display = "none";
		document.getElementById(address_type+"_province_select_canada").style.display = "none";
		document.getElementById(address_type+"_province_select").style.display = "block";
		
		document.getElementById(address_type+"State_select").value = "";
		document.getElementById(address_type+"State").value = "";
		document.getElementById(address_type+"State_select_canada").value = "0";
	}else if(country ==  "CA"){
	
		document.getElementById(address_type+"_province_text").style.display = "none";
		document.getElementById(address_type+"_province_select").style.display = "none";
		document.getElementById(address_type+"_province_select_canada").style.display = "block";
		
		document.getElementById(address_type+"State").value = "";
		document.getElementById(address_type+"State_select").value = "";
		document.getElementById(address_type+"State_select_usa").value = "0";
	}else{
		document.getElementById(address_type+"_province_text").style.display = "block";
		document.getElementById(address_type+"_province_select").style.display = "none";
		document.getElementById(address_type+"_province_select_canada").style.display = "none";
		
		document.getElementById(address_type+"State_select_canada").value = "0";
		document.getElementById(address_type+"State_select_usa").value = "0";
		document.getElementById(address_type+"State_select").value = "";
	}

}
function initAddress(country,state,address_type){

	if(country == "US"  ){
	
		document.getElementById(address_type+"_province_text").style.display = "none";
		document.getElementById(address_type+"_province_select").style.display = "block";
		
		document.getElementById(address_type+"State").value = "";
		
		document.getElementById(address_type+"State_select").value = state;
		document.getElementById(address_type+"Country").value = country;
	}else if(country ==  "CA"){
		document.getElementById(address_type+"_province_text").style.display = "none";
		document.getElementById(address_type+"_province_select_canada").style.display = "block";
		
		document.getElementById(address_type+"State").value = "";
		
		document.getElementById(address_type+"State_select").value = state;
		document.getElementById(address_type+"Country").value = country;
	}else{
		document.getElementById(address_type+"_province_text").style.display = "block";
		document.getElementById(address_type+"_province_select").style.display = "none";
		
		document.getElementById(address_type+"State_select").value = "0"
		document.getElementById(address_type+"Country").value = country;
		document.getElementById(address_type+"State").value = state;
	}
}
function updateaddress(){
	if(validateAdd(true)){
		document.updateAddressForm.submit();
	}
}


function showFreeInfo() {

	var inputValue = document.getElementById("certificate").value;
	
	var paintingStateId;
	
	var carts = document.getElementsByName("cartId");
	var total_price = 0;
	var cart_num = 0;
	var discount_num_99 = 0;
	var qty = 0;
	var numId;
	var priceId;
	var pid;
	var dis_price = total_price ;
	var discount_price;
	var total_discount_price;
	var total_price_usd = 0;
	var dis_price_usd = 0;
	var discount_price_usd = 0;
	
	for(var i = 0;i < carts.length;i++){
		if(carts[i].checked == true){
				
			numId = "qty_" + carts[i].id;
				
			qty = document.getElementById(numId).value;
			qty = parseInt(qty);

			priceId = "price_" + carts[i].id;
			pid = "discount_" + carts[i].id;
			
			paintingStateId = "paintingstate_" + carts[i].id;
			if(document.getElementById(paintingStateId).value == "99.99" ) {
				discount_num_99 = discount_num_99 + 1;
			}
			cart_num = cart_num+qty;
			
			total_price += document.getElementById(pid).value * qty;
			
			total_price_usd += document.getElementById(paintingStateId).value * qty;
			
		}
	}
	if(inputValue == "GetOneFree" || inputValue == "getonefree") {
		document.getElementById("freeTip").style.display="block"; 
		if(document.getElementById("discount_99.99") != null) {
			var per_price = document.getElementById("discount_99.99").value;
		}
		if(cart_num >0 && discount_num_99 >0) {
			if(cart_num/2 < discount_num_99){
            	discount_price = (Math.floor(cart_num/2))*per_price;
            	discount_price_usd = (Math.floor(cart_num/2))*99.99;
            }else{
            	discount_price = discount_num_99*per_price;
            	discount_price_usd = discount_num_99*99.99;
            }
            
            dis_price = total_price - discount_price;
            dis_price_usd = total_price_usd - discount_price_usd;
    
		}else{
		
			dis_price = total_price;
			dis_price_usd = total_price_usd;
		}

		if(dis_price_usd >= 300 && dis_price_usd < 500){
			document.getElementById("total_discount").innerHTML = "10%";
			total_discount_price = dis_price - (dis_price * 0.1).toFixed(2);
		}else if(dis_price_usd >= 500 && dis_price_usd < 1200){
			document.getElementById("total_discount").innerHTML = "20%";
			total_discount_price = dis_price - (dis_price * 0.2).toFixed(2);
		}else if(dis_price_usd >= 1200){
			document.getElementById("total_discount").innerHTML = "30%";
			total_discount_price = dis_price - (dis_price * 0.3).toFixed(2);
		}else{
			document.getElementById("total_discount").innerHTML = "0%";
			total_discount_price = dis_price;
		}

		document.getElementById("price").innerHTML = dis_price.toFixed(2);
		document.getElementById("oprice").innerHTML = total_price.toFixed(2);
		document.getElementById("total_price").innerHTML = dis_price.toFixed(2);
		
		document.getElementById("total_discount_price").innerHTML = total_discount_price.toFixed(2);
	
	}else{
	
		dis_price_usd = total_price_usd;
		
		document.getElementById("total_price").innerHTML = total_price.toFixed(2);
		document.getElementById("freeTip").style.display="none"; 
		document.getElementById("total_discount").innerHTML = "0%";

		if(dis_price_usd >= 300 && dis_price_usd < 500){
			document.getElementById("total_discount").innerHTML = "10%";
			total_discount_price = total_price * 0.9;
		}else if(dis_price_usd >= 500 && dis_price_usd < 1200){
			document.getElementById("total_discount").innerHTML = "20%";
			total_discount_price = total_price * 0.8;
		}else if(dis_price_usd >= 1200){
			document.getElementById("total_discount").innerHTML = "30%";
			total_discount_price = total_price * 0.7;
		}else{
			document.getElementById("total_discount").innerHTML = "0%";
			total_discount_price = total_price;
		}

		document.getElementById("total_discount_price").innerHTML = total_discount_price.toFixed(2);
	}
}


function editAddress(id,divId,rid,sadressid){
		var obj = document.getElementById(id);
		var div = document.getElementById(divId);
		var editflag = document.getElementById("editflag");
		editflag.value = "edit";
		var robj = document.getElementById(rid);
		
		
		obj.checked = false;
		robj.checked = true;
		
		
		var address;
	
		dwr.engine.setAsync(false); 
	
		paintingServiceDWR.findSAddressById(sadressid,
			function(data){
				address = data;
			}
		);
		
		document.getElementById("saddressFirstname").value = address[1];
		document.getElementById("saddressLastname").value = address[2];
		document.getElementById("saddressStreetaddress").value = address[3];
		document.getElementById("saddressStreetaddressTwo").value = address[9];
		document.getElementById("saddressCountry").value = address[6];

		if(address[6] == "US"  ){
	
			document.getElementById("saddress_province_text").style.display = "none";
			document.getElementById("saddress_province_select_canada").style.display = "none";
			document.getElementById("saddress_province_select").style.display = "block";
			
			document.getElementById("saddressState").value = "";
			
			document.getElementById("saddressState_select").value = address[5];
			
			document.getElementById("saddressState_select_canada").value = "";
			document.getElementById("saddressState_select_usa").value = address[5];
		}else if(address[6] ==  "CA"){
		
			document.getElementById("saddress_province_text").style.display = "none";
			document.getElementById("saddress_province_select").style.display = "none";
			document.getElementById("saddress_province_select_canada").style.display = "block";
		
			document.getElementById("saddressState").value = "";
			
			document.getElementById("saddressState_select").value = address[5];
			
			document.getElementById("saddressState_select_usa").value = "";
			document.getElementById("saddressState_select_canada").value = address[5];
		}else{
			document.getElementById("saddress_province_text").style.display = "block";
			document.getElementById("saddress_province_select").style.display = "none";
			document.getElementById("saddress_province_select_canada").style.display = "none";
			
			document.getElementById("saddressState_select").value = "";
			
			document.getElementById("saddressState").value = address[5];
		}
		
		document.getElementById("saddressCity").value = address[4];
		
		document.getElementById("saddressZip").value = address[8];
		document.getElementById("saddressDayphone").value = address[7];
		document.getElementById("saddressCellphone").value = address[10];
		
		div.style.display = "block";
		

}
function changeStateValue(value){
	document.getElementById("saddressState_select").value = value;
}
