var winDyn;
var savDivHeight = 295;
var savDivErreur =0;
var txt_error1="";
var txt_error2="";
var errorInavlid="";
var txt_select_hour="";
var txt_select_minute="";

var conn = new Ext.data.Connection();
String.prototype.trim = function() { return this.replace(/^\s*(\b.*\b|)\s*$/, "$1");	}


function closeModal() {
 winDyn.close();
}

function showCp(){
	//var varTdCp=Ext.get("tdCp");
	//varTdCp.setVisibilityMode(Ext.Element.DISPLAY);
	//varTdCp.show();
}

function hideCp(){
	var varTdCp=Ext.get("tdCp");
	varTdCp.setVisibilityMode(Ext.Element.DISPLAY);
	varTdCp.hide();
}

function hideErreur() {
	var varErrMsg=Ext.get("idErrMsg");
	Ext.get("idErrList").update("");
	varErrMsg.setVisibilityMode(Ext.Element.DISPLAY);
	varErrMsg.hide();
}

function showErreur(msg,divHeight) {
	var varErrMsg=Ext.get("idErrMsg");
	savDivErreur =divHeight;
	Ext.get("idErrList").update(msg);
	savDivHeight +=  divHeight ;
	Ext.get("CCTopCT").setStyle("height",savDivHeight +"px");
	varErrMsg.setVisibilityMode(Ext.Element.DISPLAY);
	varErrMsg.show();
}

function testMail(mail) {	
	formOk=true;
	if (!Ext.form.VTypes.email(mail)) {
            formOk=false;}
	return formOk;
}

function showFrmCli() {
	/*if (Ext.get("frmCli").isDisplayed()== false) {
		var frmCli=Ext.get("frmCli");
		frmCli.setVisibilityMode(Ext.Element.DISPLAY);	
		frmCli.slideIn('t',{duration: .4,
					remove: false,
					useDisplay: true				
		});		
		if (navigator.appName == 'Microsoft Internet Explorer')
			savDivHeight += 85 ;
		else
			savDivHeight += 50 ;
		Ext.get("CCTopCT").setStyle("height",savDivHeight +"px"); 
		//showCp();
		}*/
}

function hideFrmCli() {
	if (Ext.get("frmCli").isDisplayed()== true) {
		var frmCli=Ext.get("frmCli");
		frmCli.setVisibilityMode(Ext.Element.DISPLAY);
		frmCli.slideOut('t',{duration: .4,
					remove: false,
					useDisplay: true				
		});
	/*	if (navigator.appName == 'Microsoft Internet Explorer')  
			savDivHeight -= 85 ;
		else 
			savDivHeight -= 50 ;*/
		Ext.get("CCTopCT").setStyle("height",savDivHeight +"px");
		hideCp();
	}	
}

function hideTime() {
	var varTime=Ext.get("divTime");
	varTime.setVisibilityMode(Ext.Element.DISPLAY);
	varTime.hide();
}

function showTime(tdChange) {
	var varTime=Ext.get("divTime");
	varTime.setVisibilityMode(Ext.Element.DISPLAY);
	varTime.show();
}

function hideInit() {
	 savDivErreur =0;
	 savDivHeight = 295;
	 if (navigator.appName == 'Microsoft Internet Explorer')  {
			 savDivHeight = 310;
			 Ext.get("CCTopCT").setStyle("height",savDivHeight +"px");
	 }
	 txt_error1=Ext.get("error_txt_1").dom.value;
	 txt_error2=Ext.get("error_txt_2").dom.value;
	 errorInavlid =Ext.get("error_invalid").dom.value;
	 txt_select_hour=Ext.get("txt_select_hour").dom.value;
 	 txt_select_minute=Ext.get("txt_select_minute").dom.value;
	 hideErreur();
	 hideCp();
	 
}

function submitForm() {
	var fields=Ext.DomQuery.select('form [class*=frm_valid]');
	var formOk=true;
	var customer=false;
	var dateToDay=false;
	var divHeight=40;
	if (navigator.appName == 'Microsoft Internet Explorer')  
			divHeight = 70 ;
		else 
			divHeight = 40;
	savDivHeight -=savDivErreur;
	if (Ext.DomQuery.selectValue('input[name=customer]:checked/@value')=="Y"){
	 	customer=true;
	}
	if (Ext.DomQuery.selectValue('input[name=dateChoose]:checked/@value')=="CML"){
	 	dateToDay=true;
	}
	if (Ext.DomQuery.selectValue('input[name=dateChoose]:checked/@value')=="CML1"){
	 	dateToDay=true;
	}
	var msg = "";
	for(var i=0;i<fields.length;i++) {
		var testAff =true;
	
		if (fields[i].value.trim()==''||fields[i].value==null){
			
			//msg = "champ obligatoire";
			if ((fields[i].name!="hour") && (fields[i].name!="minute") ){
				if (fields[i].name!="zipcode") 	{
					testAff=false; 
					divHeight += 14; 
					msg += '<li>'+txt_error1+' <span>"'+Ext.get("error_"+fields[i].name).dom.value+'"</span> '+txt_error2+'</li>';}
				else {
					if(customer){
						msg += '<li>'+txt_error1+' <span>"'+Ext.get("error_"+fields[i].name).dom.value+'"</span>" '+txt_error2+'</li>';
						divHeight += 14;
						testAff=false;}
				}
			
			}
			if (fields[i].name=="hour") {
				if(dateToDay) {
						msg += '<li>'+txt_error1+' <span>"'+Ext.get("error_"+fields[i].name).dom.value+'"</span> '+txt_error2+'</li>';
						divHeight += 14;
						testAff=false;	
				}
				else
					testAff=true;
			}
			if (fields[i].name=="minute") {
				if(dateToDay) {
						msg += '<li>'+txt_error1+' <span>"'+Ext.get("error_"+fields[i].name).dom.value+'"</span> '+txt_error2+'</li>';
						divHeight += 14;
						testAff=false;
				}		
				else
					testAff=true;
			}
		}
		else if (fields[i].name=="email_call"){
			if (!testMail(fields[i].value)){
				 msg += '<li>'+txt_error1+' <span>"'+Ext.get("error_"+fields[i].name).dom.value+'"</span> '+errorInavlid+ '</li>';	
				 divHeight += 14;
				 testAff=false;
			}
		}
		if (!testAff) {
			Ext.get(fields[i].name).setStyle("border","1px solid #FF0000");
		    formOk=false;
		} 
		else {
			hideErreur();
			if (fields[i].name!="phone")
				Ext.get(fields[i].name).setStyle("border","1px solid #878787");
			else
				Ext.get(fields[i].name).setStyle("border","1px solid #FFFFFF");
		}	
	}
	if (formOk) {
/*****check with the web services **********/
		var formData = new Object();
		var dateSend = Ext.get("nextDayAff").dom.value;
		var dateChoose = "";
		Ext.get("btAction").setStyle("display", "none");
		Ext.get("btNonAction").setStyle("display", "block");
			if (Ext.DomQuery.selectValue('input[name=dateChoose]:checked/@value')=="CML1"){
	 			dateSend = Ext.get("todayAff").dom.value;
	 			dateChoose="CML";
			}
			else{
			  dateChoose=Ext.DomQuery.selectValue('input[name=dateChoose]:checked/@value');
			}
		formData['name']=Ext.get("name").dom.value;
		formData['fname']=Ext.get("fname").dom.value;
		formData['zipcode']=Ext.get("zipcode").dom.value;
		formData['email']=Ext.get("email_call").dom.value;
		formData['phone']=Ext.get("phone").dom.value;
		formData['hour']=Ext.get("hour").dom.value;
		formData['minute']=Ext.get("minute").dom.value;
		formData['nextDayAff']=dateSend;
		formData['customer']=Ext.DomQuery.selectValue('input[name=customer]:checked/@value');
		formData['dateChoose']=dateChoose;
		formData['requestChoose']=Ext.DomQuery.selectValue('input[name=requestChoose]:checked/@value');
		conn.request({
			url : 'checkCallMe',
			method : 'POST',
			params : formData,
			success : function(responseObject) {
				var jsonData = Ext.util.JSON.decode(responseObject.responseText);
				if (jsonData.success == '1') {
					Ext.get('ModalCT').getUpdater().update({url: "sendCallMeNow"});
				}
				else if (jsonData.success == '2'){
					var divHeight = 54;
					if (navigator.appName == 'Microsoft Internet Explorer')  
						divHeight = 84;
					else 
						divHeight = 44;
					if (jsonData.html != "error_time") {
						Ext.get(jsonData.html).setStyle("border","1px solid #FF0000");
						var msg ='<li>'+txt_error1+' <span>"'+Ext.get("error_"+jsonData.html).dom.value+'"</span> '+errorInavlid+ '</li>';
						Ext.get("btNonAction").setStyle("display", "none");
						Ext.get("btAction").setStyle("display", "block");
					}
					else {
						divHeight += 14;
						Ext.get("hour").setStyle("border","1px solid #FF0000");
						Ext.get("minute").setStyle("border","1px solid #FF0000");
						var msg ='<li>'+txt_error1+' <span>"'+Ext.get("error_hour").dom.value+'"</span> '+errorInavlid+ '</li><li>'+txt_error1+' <span>"'+Ext.get("error_minute").dom.value+'"</span> '+errorInavlid+ '</li>';
						Ext.get("btNonAction").setStyle("display", "none");
						Ext.get("btAction").setStyle("display", "block");
					}
					showErreur(msg,divHeight);
					
				}
				else if (jsonData.success == '3'){
				 	//alert(jsonData.html);
				 	Ext.Msg.alert('',  "erreur");
				}
				else if (jsonData.success == '4'){
					//alert(jsonData.html);
					Ext.Msg.alert('',  "erreur");
				}
			},
			failure : function() {
				//return formOk =false;
				//	Ext.Msg.alert('',  "Suite ");
			}			
		});	
	}
	else {
		//alert(divHeight);
		showErreur(msg,divHeight);
	}
}

function showModal(ev,obj) {
	if (obj.id=='H_BtC2C') {
		urlModal='callmenowmodal';
	}else {
	//	urlModal='callmelatermodal';
		urlModal='callmenowmodal'
	}
	winDyn = new Ext.Window({
		width:640
		,id:'testCallMe'
		,autoHeight:true
	    ,autoScroll:true
	    ,autoLoad:{url:urlModal,callback:function() {
				errorsTip=Ext.DomQuery.select('form img[class*=error]')
				for (var i=0;i<errorsTip.length;i++) {
					Ext.get(errorsTip[i]).setVisibilityMode(Ext.Element.DISPLAY);
					Ext.get(errorsTip[i]).hide();
				}
				if (Ext.get('idDateChooseNow')) {
					hideTime();
				}else if (Ext.get('idDateChooseLater1')) {
					Ext.get('idDateChooseLater1').dom.checked=true;
				}else if (Ext.get('idDateChooseLater2')) {
					Ext.get('idDateChooseLater2').dom.checked=true;
				}
				hideInit();
			}
	    }
	    ,modal:true	
	    ,closeAction :'hide'
	    ,frame:false	    	
	    ,shadow:false
	    ,border:true
	    ,closable:false
	    ,resizable:false
	});
    winDyn.on('show', function(){
		x = winDyn.getPosition()[0];
		winDyn.setPosition(x,50);   
		winDyn.render;	
	});
    winDyn.show();
   
}

Ext.onReady(function(){
    Ext.QuickTips.init();
   	var callMeNow = Ext.get('H_BtC2C');
   	if (callMeNow != null)
   		callMeNow.on('click',showModal);
  /* 	var callMeLater = Ext.get('idCallMeLater');
   	if (callMeLater != null)
   		callMeLater.on('click',showModal);  */ 
});

function checkHour() {
	var limit=59;
	var selectOption ='<option  value="">'+txt_select_minute+'</option>';
	
	if (Ext.get("hour").dom.value == "19")
		limit=45;
		
	for (i=0; i<=limit;i++) {
		
		if (i<10) {
	 		selectOption +='<option  value="0'+i+'">0'+i+'</option>';}
	 	else{
	 		selectOption +='<option  value="'+i+'">'+i+'</option>';}
	}
	Ext.get("minute_ie").update('<select id="minute" class="frm_valid" name="minute" >'+selectOption+'</select>');
}





