/***************************************************************************
 *							 advertiser class                                 
 *                            -------------------
 *   copyright            : (C) 2007 Imediastreams.com
 *   email                :  
 *	 version			  : 1.0.0
 *   last change		  : 
 *
 ***************************************************************************/
var AdvSignUp={};
AdvSignUp.payFrame = null;
AdvSignUp.client = {info:null,targeting:null,payment:null}
AdvSignUp.client.info = new Array();
AdvSignUp.client.targerting = new Array();
AdvSignUp.client.payment = {credit:false,info:null};
AdvSignUp.client.payment.info = new Array();
AdvSignUp.drawMethod=function(method){
	AdvSignUp.changeMethod(method);	
}
AdvSignUp.changeMethod=function(method){	
	if(AdvSignUp.payFrame == null ){
		AdvSignUp.payFrame = document.getElementById('pay_frame');		
	}
	if(method == 'direct'){
		AdvSignUp.payFrame.innerHTML="";
		AdvSignUp.client.payment.credit = false; 
	}
	else if(method == 'credit'){
		AdvSignUp.payCreditForm();
		AdvSignUp.client.payment.credit = true;
	}
}
AdvSignUp.payCreditForm=function(){
	params="";
	for(var obj in AdvSignUp.client.payment.info){
			params+=obj+"="+AdvSignUp.client.payment.info[obj]+"&";
	}
	Ajax.makeHeaders("Content-type","application/x-www-form-urlencoded");
	Ajax.makeHeaders("Content-length",params.length);
	Ajax.makeHeaders("Connection","close");
	Ajax.makeRequest('post', 'imedia/advertiser_credit.php', AdvSignUp.drawCreditForm, params);	
}
AdvSignUp.drawCreditForm=function(){
	ok=Ajax.checkReadyState('pay_frame',Validate.lang['en']['t_loading']);
	if(ok){
		AdvSignUp.payFrame.style.display="block";
		response =  Ajax.getResponse();
		AdvSignUp.payFrame.innerHTML=response;
	}
}
AdvSignUp.removeStatPostal=function(country){
	pForm = document.forms.profileForm;
	switch(country){
		case 'US':
		case 'CA':
			break;
		default:
			pForm.billTo_postalCode.value = "";
			pForm.billTo_state.value = "";
	}
}
AdvSignUp.usCandaPostalCode=function(lang){
	pForm = document.forms.profileForm;
	postalCode = pForm.billTo_postalCode;
	if(pForm.billTo_country.options[pForm.billTo_country.selectedIndex].value=="US"){		
		ok = Validate.isFormat(postalCode.value,Validate.regFormat.isUsPostal); 	
		if(!ok) {
			return Validate.lang[lang]['t_postal_code_in_us_canada'];
		}
	}
	else if(pForm.billTo_country.options[pForm.billTo_country.selectedIndex].value=="CA"){
		ok = Validate.isFormat(postalCode.value,Validate.regFormat.isCaPostal); 	
		if(!ok) {
			return Validate.lang[lang]['t_postal_code_in_us_canada'];
		}
		
	}
}
AdvSignUp.cardCheck=function(lang){
	pForm = document.forms.profileForm;
	cardType = pForm.card_cardType.options[pForm.card_cardType.selectedIndex].value;
	cardNumber = pForm.card_accountNumber.value;
	ok = true;
	num = null;
	switch(cardType) {
		case "":
			msg = Validate.lang[lang]['t_empty_credit_card_validate'];
			ok = false;
		break;
		case "001":
		case "002":
			msg = Validate.lang[lang]['t_credit_card_visamaster_validate'];
			ok = Validate.isFormat(cardNumber,Validate.regFormat.isVisaMaster);
		break;
		case "003":
			msg = Validate.lang[lang]['t_credit_card_american_express_validate'];
			ok = Validate.isFormat(cardNumber,Validate.regFormat.isAmericanExpress);
		break;
	}
	if(!ok){
		return msg;
	}
}
AdvSignUp.validatePayment=function(lang){	
	if(AdvSignUp.client.payment.credit){
		pForm = document.forms.profileForm;
		form.requriedField('billTo_firstName',Validate.lang[lang]['t_error_enter_your_first_name']);
		form.requriedField('billTo_lastName',Validate.lang[lang]['t_error_enter_your_last_name']);
		form.requriedField('billTo_street1',Validate.lang[lang]['t_error_enter_your_address']);
		form.requriedField('billTo_city',Validate.lang[lang]['t_error_enter_your_city']);
		form.requriedField('billTo_state',Validate.lang[lang]['t_error_enter_your_state']);
		form.requriedFormat('billTo_state',Validate.regFormat.isUsCaState,Validate.lang[lang]['t_state_in_us_canada'],Validate.regularFlag.caseInsensitive);
		form.requriedField('billTo_postalCode',Validate.lang[lang]['t_error_enter_your_zip_postal_code']);
		form.customFunction('billTo_postalCode','AdvSignUp.usCandaPostalCode(\''+lang+'\')');
		form.customFunction('card_accountNumber','AdvSignUp.cardCheck(\''+lang+'\')');
		form.requriedField('card_expirationMonth',Validate.lang[lang]['t_month_validate']);
		form.requriedField('card_expirationYear',Validate.lang[lang]['t_year_validate']);
		form.requriedFormat('card_expirationMonth',Validate.regFormat.isMonth,Validate.lang[lang]['t_month_validate']);
		form.requriedFormat('card_expirationYear',Validate.regFormat.isCreditYear,Validate.lang[lang]['t_year_validate']);
		if(pForm.billTo_country.options[pForm.billTo_country.selectedIndex].value=="US" || pForm.billTo_country.options[pForm.billTo_country.selectedIndex].value=="CA"){
			form.ignoreField('billTo_state',false);
			form.ignoreField('billTo_postalCode',false);
		}
		else{
			form.ignoreField('billTo_state',true);
			form.ignoreField('billTo_postalCode',true);
		}
	}
}
AdvSignUp.prepareSubInterests=function(mainID){
	qstring='&noref='+new Date().getTime();
	Ajax.makeRequest('get','sub_interests.php?mainID='+mainID+qstring,Advertiser.getSubInterests,null);
}
AdvSignUp.getSubInterests=function(){
	document.getElementById('interestOptions').style.display="none";
	ok=Ajax.checkReadyState('interestOptions',Validate.lang[Advertiser.lang]['t_loading']);
	if(ok){
		response =  Ajax.getResponse();
		interests=response.getElementsByTagName('interest');
        box = document.advForm.interest_id;
        Ajax.removeChildren(document.getElementById('interest_id'));
		for(i=0;i<interests.length;i++){
			var opt = document.createElement('option');
			if(interests[i].firstChild){
				opt.innerHTML =interests[i].firstChild.data;
				opt.value=interests[i].getAttribute('id');
				box.appendChild(opt);
			}
			//alert(interests[i].getAttribute('id'));
			//alert(interests[i].firstChild.data);
		}

		//interests=(result[0].getElementsByTagName('interests')[0].childNodes[0]!=null) ? result[0].getElementsByTagName('interests')[0].childNodes[0].nodeValue : '';
		//alert(interests);
	}
}

