//  Common javaScripts
function paymentType(formName)
{
	myForm   = eval('document.'+formName);
	selected = myForm["payment_type"].selectedIndex;
	if ("undefined" != typeof(myForm["payment_type"].options))
	{
		if (myForm["payment_type"].options[selected].value == "Paypal")
		{
			 if ("undefined" != typeof(myForm["card_code"]))
			 	disableMe (formName,"card_code","disable_bg");
			 disableMe (formName,"cc_no","disable_bg");
			 if ("undefined" != typeof(myForm["auto_bill"]))
				 disableMe (formName,"auto_bill","");		 
			 disableMe (formName,"cc_expiry_month","disable_bg");
			 disableMe (formName,"cc_expiry_year","disable_bg");		 		 		 
		}
		else
		{
			 if ("undefined" != typeof(myForm["card_code"]))
				 enableMe (formName,"card_code","enable_bg");
			 enableMe (formName,"cc_no","enable_bg");
			 if ("undefined" != typeof(myForm["auto_bill"]))			 
				 enableMe (formName,"auto_bill","");		 		 
			 enableMe (formName,"cc_expiry_month","enable_bg");
			 enableMe (formName,"cc_expiry_year","enable_bg");		 		 		 
		}
	}
}

function disableMe (formName,fieldname,css_style)
{
	myForm = eval('document.'+formName);
	myForm[fieldname].disabled = true
	if (css_style)
		myForm[fieldname].className = css_style;
}

function enableMe (formName,fieldname,css_style)
{
	myForm = eval('document.'+formName);
	myForm[fieldname].disabled = false
	if (css_style)
		myForm[fieldname].className = css_style;
}

function clearError (myForm)
{
	myForm.className = "no_error_field";
}

function launchWindow (target, width, height, features,url)
{
	if (features)
		features = ',' + features;
		
	var str = "height=" + height + ",innerHeight=" + height;str += ",width=" + width + ",innerWidth=" + width + features;
	
	win = window.open(url,target, str);
}

function onPaymentChange(ddl) {
	var disabled = "";

	if (ddl.value == "Paypal") {
		disabled = true;
	}

	if (disabled) {
		document.getElementById(CCTdId).attributes["class"].value = "field_noreq";
		document.getElementById(CCV2SpanId).attributes["class"].value = "field_noreq";
		document.getElementById(ExDateTdId).attributes["class"].value = "field_noreq";
	} else {
		document.getElementById(CCTdId).attributes["class"].value = "field_req";
		document.getElementById(CCV2SpanId).attributes["class"].value = "field_req";
		document.getElementById(ExDateTdId).attributes["class"].value = "field_req";
	}

	document.getElementById(CreditCardTextBoxId).disabled = disabled;
	document.getElementById(CCVCodeTextBoxId).disabled = disabled;
	document.getElementById(ExpiryMonthDropDownListId).disabled = disabled;
	document.getElementById(ExpiryYearDropDownListId).disabled = disabled;
}

function SameInfo()
{
	if (!same) {
		same = true;
		bllFirstName.value = firstName.value;
		billLastName.value = lastName.value;
		billAddress1.value = address1.value;
		billAddress2.value = address2.value;
		billCity.value = city.value;
		billZipCode.value = zipCode.value;
		billState.value = state.value;

		for (var i=0; i < billCountry.length; i++) {
			if (billCountry.options[i].value == country.value) {
				billCountry.selectedIndex = i;
			}
		}
	} else {
		same = false;
		bllFirstName.value = "";
		billLastName.value = "";
		billAddress1.value = "";
		billAddress2.value = "";
		billCity.value = "";
		billZipCode.value = "";
   		billState.value = "";
		billCountry.selectedIndex = 0;
	}
}

function checkService(serviceId)
{
	document.getElementById('service_' + serviceId + '_chb').checked = true;
}

function selectServiceAccessPeriod(serviceId, value)
{
	document.getElementById('access_period_' + serviceId + '_' + value).checked = true;
}

function hide3MonthsAccessPeriod(serviceId)
{
	document.getElementById('ac_3_span_' + serviceId).style.visibility = 'hidden';
}

function set_autorenew(renew)
{
	document.getElementById('auto_renew').checked = renew;
}

function SendQuery()
{
	var couponCode = document.getElementById(couponId).value;
	var services = document.getElementsByName('chb_services');
	var ids = new Array();

	for (var i = 0; i < services.length; i++)
	{
		if (services[i].checked)
		{
		    var accessPeriod = '3';
		    var accessPeriodElements = document.getElementsByName('access_period_' + services[i].value);
		    for (var j = 0; j < accessPeriodElements.length; j++)
		    {
		        if (accessPeriodElements[j].checked)
		        {
		            accessPeriod = accessPeriodElements[j].value;
		        }
		    }

			ids.push(services[i].value + ':' + accessPeriod);
		}
	}

	Itransition.RightWayTrader.SeasonalTrader.Web.Services.Account.ServicesManagement.RecalcUIElements(couponCode, ids.join(","), isEnable, onRequestComplete);
}

function onRequestComplete(result)
{
	ParseXMLString(result);
}

function ParseXMLString(xmlString)
{
	var doc;

	if (window.ActiveXObject) {
		doc = new ActiveXObject('Microsoft.XMLDOM');
		doc.loadXML(xmlString);
	} else if (window.DOMParser) {
		var parser = new DOMParser();
		doc = parser.parseFromString(xmlString, 'text/xml');
	} else {
		alert('No XML support detected');
		return null;
	}

	return ParseXMLInternal(doc);
}

function ParseXMLInternal(doc)
{
	var totalSpan = document.getElementById('total_price');
	var amountNodes = doc.getElementsByTagName("amount");
	totalSpan.innerHTML = amountNodes[0].getAttribute('value');

	var serviceNodes = doc.getElementsByTagName("service");

	for (var i = 0; i < serviceNodes.length; i++)
	{
		var node = serviceNodes[i];
		var disabled = eval(node.getAttribute('disabled'));
		var apDisabled = eval(node.getAttribute('ap_disabled'));
		var ap3Visible = eval(node.getAttribute('ap_3_visible'));
		var ap1Visible = eval(node.getAttribute('ap_12_visible'));
		var selected = eval(node.getAttribute('selected'));
		var id = node.getAttribute('id');
		var accessPeriod = node.getAttribute('ap');
		var desc = node.getAttribute('description');

		var chb = document.getElementById('service_' + id + '_chb');
		var acr = document.getElementById('access_period_' + id + '_' + accessPeriod);
		var acrn = document.getElementsByName('access_period_' + id);
		var ac3 = document.getElementById('ac_3_span_' + id);
		var ac1 = document.getElementById('ac_12_span_' + id);
		
		if (chb != null)
		{
			chb.checked = selected;
			chb.disabled = disabled;
			acr.checked = true;

			for (var j = 0; j < acrn.length; j++)
			{
			    acrn[j].disabled = apDisabled;
			}

            ac3.style.visibility = (ap3Visible) ? "visible" : "hidden";
			ac1.style.visibility = (ap1Visible) ? "visible" : "hidden";
            
			var hidden_text = document.getElementById('hidden_text_' + id);
			hidden_text.style.visibility = (disabled) ? "visible" : "hidden";
			hidden_text.innerHTML = desc;
		}
	}
}

function chartAccess()
{
	window.opener.location = '../account/services.aspx';
	self.close();
}