function openMagazineForm(){
	new Effect.toggle("magform","blind",{duraton:0.35});
}

function sendForm(frm,fbId,btnId){

	if ( validateMagForm(frm) ){
		var aryEle = Form.getElements(frm);
			checkForInnerLabel(aryEle);
			$(btnId).style.display = "none";
			$(fbId).innerHTML = '<p class="loader">Sending</p>';
			
		var sParams = Form.serialize(frm);
		var callBack = function(t){
		
			if(t.responseText != ''){
				$(fbId).innerHTML = '<p class="response">' + t.responseText + '</p>';
			}
			else{
				$(fbId).innerHTML = '<p class="response">Thank you for leaving magazine feedback. <br> Your comments are important to us.</p>';
			}
			$(btnId).style.display = "block";
		};  
		var options = { 
		
	                    method : "post", 
	                    parameters : sParams,
						onComplete: callBack
	                  };
	   
		new Ajax.Request('./processors/proc_submitForm.asp', options);
		
	};
		
}

function validateMagForm(frm){
		var strMsg = "";
		if(null != frm.inpmag.value && frm.inpmag.value == "" || frm.inpmag.value == frm.inpmag.title) 
			strMsg += 'Name is required.\n';
			
		if(null != frm.inpmagemail.value && frm.inpmagemail.value == "" || frm.inpmagemail.value == frm.inpmagemail.title){
			strMsg += "Email is required.\n";	
		}else if(null != frm.inpmagemail.value && !validateEmail(frm.inpmagemail.value) || frm.inpmagemail.value == frm.inpmagemail.title){
			strMsg += "A Email is required.\n";
		}
		if(null != frm.inpmagcomment.value && frm.inpmagcomment.value == "" || frm.inpmagcomment.value == frm.inpmagcomment.title) 
			strMsg += 'Comment is required.\n'; 		
		
		if(strMsg != ""){
			alert("The following validation errors were encountered:\n\n" + strMsg);
			return false;
		}else{
			return true;
		};
}

// GENERAL FORM RELATED FUNCTIONS

function validateEmail(str){
	var at='@'; var dot='.';
	var lat=str.indexOf(at); var lstr=str.length; var ldot=str.indexOf(dot);
		if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr)
			return false;
		if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr)
			return false;
		if (str.indexOf(at,(lat+1))!=-1)
			return false;
		if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot)
			return false;
		if (str.indexOf(dot,(lat+2))==-1)
			return false;
		if (str.indexOf(' ')!=-1)
			return false;
	 
	return true;	
};

function checkForInnerLabel(a){
	var l = a.length;
	for(var i=0;i<l;i++){
	   if(a[i].value == a[i].innerlabel || a[i].value == a[i].title) a[i].value = "";
	 };
};


function changeInput(obj, empty, def){
	var def = (null != obj.innerlabel)? obj.innerlabel : obj.title;
	obj.value = (empty && obj.value == def)? "" : (obj.value.length > 0)? obj.value : (null != def )? def : '';
};

