/* fb sharing */
function fbs_click() {u=location.href;t=document.title;window.open('http://www.facebook.com/sharer.php?u='+encodeURIComponent(u)+'&t='+encodeURIComponent(t),'sharer','toolbar=0,status=0,width=626,height=436');return false;}
   /* to hide the action bar
  if (top.location != location) {
    top.location.href = document.location.href;
  }*/
         
/***********
 * Contact forms validation
 *
 ***************/   
    
  //set focus for predefined field
  //takes an object id
function setFocus(fieldId) {
  var formInUse = false;
  if(document.getElementById(fieldId)){
    if(!formInUse) {
      document.getElementById(fieldId).focus();
      document.getElementById(fieldId).select();
    }
  }
}

/******* pre-signup form ******************/
 //validate Ts&Cs reading              
function validatePartnerSignUpForm(frm) {

 var emailPat = /^[a-zA-Z0-9_\+-]+(\.[a-zA-Z0-9_\+-]+)*@[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*\.([a-zA-Z]{2,4})$/;
 
      //check if all the fields one by one are filled
  if(frm.elements['companyname'].value == '') {
    alert("Please enter your company name.");
    document.getElementById('companyname').focus();
    return false;
  } 
  
  if(frm.elements['last_name'].value == '') {
    alert("Please enter your last name.");
    document.getElementById('last_name').focus();
    return false;
  } 
  
  if(frm.elements['street'].value == '') {
    alert("Please enter your street address.");
    document.getElementById('street').focus();
    return false;
  } 
  
    if(frm.elements['city'].value == '') {
    alert("Please enter your city of operations.");
    document.getElementById('city').focus();
    return false;
  } 
  
    if(frm.elements['country'].value == '') {
    alert("Please enter your country of operations.");
    document.getElementById('country').focus();
    return false;
  } 
  
  if(frm.elements['email'].value == '') {
    alert("Please enter your contact email address.");
    document.getElementById('email').focus();
    return false;
  }    //validating true email address
  else {
    var matchArray = frm.elements['email'].value.match(emailPat);
    if (matchArray == null) {
       alert("Please enter a valid email address.");
       document.getElementById('email').focus();
       document.getElementById('email').select();
       return false;
    }
  }
     
  if(frm.elements['URL'].value == '') {
    alert("Please enter your company website.");
    document.getElementById('URL').focus();
    return false;
  }
  
  if(frm.elements['00N20000001vl8S'].value == '') {
    alert("Please enter the size of your company.");
    document.getElementById('00N20000001vl8S').focus();
    return false;
  } 
  
   if(frm.elements['00N20000001vk9F'].value == '') {
    alert("Please enter the key products you are currently selling.");
    document.getElementById('00N20000001vk9F').focus();
    return false;
  } 
      
  if(frm.elements['00N20000001vk9K'].value == '') {
    alert("Please enter what you think the key customer groups are for Returnil Virtual System.");
    document.getElementById('00N20000001vk9K').focus();
    return false;
  } 
  
  if(frm.elements['00N20000001vk9U'].value == '') {
    alert("Please enter your estimated 12 month Returnil license sale volume.");
    document.getElementById('00N20000001vk9U').focus();
    return false;
  } 
      //check if Ts and Cs are checked
    if(frm.elements['00N20000001vkAw'].checked == false) {
    alert('Please read our Terms and Conditions in order to sign up!');
    document.getElementById('00N20000001vkAw').focus();
    return false;   
  }
  return true;
}

  //enables/disables submit button when checkbox checked
function enableSubmit() {
    if(document.forms['partnersignup'].elements['00N20000001vkAw'].checked == true) {
      //alert ('enable');
      document.getElementById('submitButton').disabled = false;
    }
    else {
      //alert('disable');
      document.getElementById('submitButton').disabled = true;
    }
      
}

/******* partners (oem/reseller) form ******************/
 //validate form data              
function validatePartnerForm (frm) {

  var emailPat = /^[a-zA-Z0-9_\+-]+(\.[a-zA-Z0-9_\+-]+)*@[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*\.([a-zA-Z]{2,4})$/;
  // /([a-zA-z0-9\.\-]+)@([a-zA-Z0-9\.\-]+)\.([a-zA-Z]{2,3})/;
  //check if the name field is empty
  if(frm.elements['last_name'].value == '') {
    alert('Please enter your name');
    document.getElementById('last_name').focus();
    return false;    
  }  
  
    //check if the company field is empty
  if(frm.elements['company'].value == '') {
    alert('Please enter the name of your company');
    document.getElementById('company').focus();
    return false;
  }  
  
    //check if the country field is empty
  if(frm.elements['country'].value == '') {
    alert('Please tell what country you do business in.');
    document.getElementById('country').focus();
    return false;
  }     
  
    //check if the email field is empty
  if(frm.elements['email'].value == '') {
    alert('Please enter an email address.');
    document.getElementById('email').focus();
    setFocus('email');
    return false;
  }  //validating true email address
  else {
    //var emailPat = /([a-zA-z0-9\.\-]+)@([a-zA-Z0-9\.\-]+)\.([a-zA-Z]{2,3})/;
    // /^.+\@.+\..+$/;
    var matchArray = frm.elements['email'].value.match(emailPat);
    if (matchArray == null) {
       alert("Please enter a valid email address.");
       document.getElementById('email').focus();
       document.getElementById('email').select();
       return false;
    }
  }
  
    //check if the website field is empty
  if(frm.elements['URL'].value == '') {
    alert('Please enter your website.');
    document.getElementById('URL').focus();
    return false;
  }
  
    //check if the description/message field is empty
  if(frm.elements['description'].value == '') {
    alert("Don\'t you want to tell us something? Please enter your message.");
    document.getElementById('description').focus();
    return false;
  } 
      
  return true;
}

/******* general sales form ******************/
 //validate form data              
function validateSalesForm (frm) {

  var emailPat = /^[a-zA-Z0-9_\+-]+(\.[a-zA-Z0-9_\+-]+)*@[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*\.([a-zA-Z]{2,4})$/;
  // /([a-zA-z0-9\.\-]+)@([a-zA-Z0-9\.\-]+)\.([a-zA-Z]{2,3})/;
  //check if the name field is empty
  if(frm.elements['last_name'].value == '') {
    alert('Please enter your name');
    document.getElementById('last_name').focus();
    return false;    
  }  
  
    //check if the country field is empty
  if(frm.elements['country'].value == '') {
    alert('Please tell what country you do business in.');
    document.getElementById('country').focus();
    return false;
  }     
  
    //check if the email field is empty
  if(frm.elements['email'].value == '') {
    alert('Please enter an email address.');
    document.getElementById('email').focus();
    setFocus('email');
    return false;
  }  //validating true email address
  else {
    //var emailPat = /([a-zA-z0-9\.\-]+)@([a-zA-Z0-9\.\-]+)\.([a-zA-Z]{2,3})/;
    // /^.+\@.+\..+$/;
    var matchArray = frm.elements['email'].value.match(emailPat);
    if (matchArray == null) {
       alert("Please enter a valid email address.");
       document.getElementById('email').focus();
       document.getElementById('email').select();
       return false;
    }
  }  
  
    //check if the description/message field is empty
  if(frm.elements['description'].value == '') {
    alert("Don\'t you want to tell us something? Please enter your message.");
    document.getElementById('description').focus();
    return false;
  } 
      
  return true;
}

/************* support forms ***************/

//validate form data              
function validateForm (frm) {

   var emailPat = /^[a-zA-Z0-9_\+-]+(\.[a-zA-Z0-9_\+-]+)*@[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*\.([a-zA-Z]{2,4})$/;
   
  //check if the name field is empty
  if(frm.elements['mail[realname]'].value == '') {
    alert('Please enter your name');
    document.getElementById('realname').focus();
    return false;
  } //check if the email field is empty
  else if(frm.elements['mail[email]'].value == '') {
    alert('Please enter an email address.');
    document.getElementById('email').focus();
    return false;
  }
   //validating true email address
  else {
    //var emailPat = /([a-zA-z0-9\.\-]+)@([a-zA-Z0-9\.\-]+)\.([a-zA-Z]{2,3})/;
    // /^.+\@.+\..+$/;
    var matchArray = frm.elements['mail[email]'].value.match(emailPat);
    if (matchArray == null) {
       alert("Please enter a valid email address.");
       document.getElementById('email').focus();
       document.getElementById('email').select();
       return false;
    }
  }
  
  //check if the subject field is empty
  if(frm.elements['mail[sub]'].value == '') {
    alert('Please enter the Subject of your inquiry.');
    document.getElementById('sub').focus();
    return false;
  }
  
  //check if the message field is empty
  if(frm.elements['mail[msg]'].value == '') {
    alert('Don\'t you want to tell us something? Please enter your message.');
    document.getElementById('msg').focus();
    return false;
  }

   return true;
}


/*
	ajax function to process newsletter signups
	receives values from script
	processSignup - 0 - no duplicate, 1 - it is duplicate, 2 - email invalid format , 3 - email field empty
	processUnsubscribe - 0 - remove it,  1 - email is invalid format, 3 - email field empty
*/    

//Browser Support Code
function processSignup(){
	var aRequest;  // The variable that makes Ajax possible
	
	try{
		// Opera 8.0+, Firefox, Safari
		aRequest = new XMLHttpRequest();
	} catch (e){
		// Internet Explorer Browsers
		try{
			aRequest = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			try{
				aRequest = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e){
				// Something went wrong
				alert("Your browser broke!");
				return false;
			}
		}
	} //end of try/catch block
	
	 // get email input variable
	var emailAddr = document.getElementById('emailInput');
	
    // Create a function that will receive data sent from the server
    aRequest.onreadystatechange = function(){
	    if(aRequest.readyState == 4){	
	        //check if the email is a duplicate of an email in db
			//0 - no duplicate, 1 - it is duplicate, 2 - email invalid format , 3 - email field empty
	      if (aRequest.responseText == '3') {
			var aDisplay = document.getElementById('errMsg');
	        aDisplay.style.display='block';
	        aDisplay.innerHTML = "No email entered.";
	        emailAddr.focus();
	        return false;
		  }
		  else if (aRequest.responseText == '2') {
			var aDisplay = document.getElementById('errMsg');
	        aDisplay.style.display='block';
	        aDisplay.innerHTML = "Invalid email.";
	        emailAddr.focus();
	        emailAddr.select();
	        return false;
		  }
		  else if (aRequest.responseText == '0') {
	        document.getElementById('formId').style.display = 'none';
	        var aDisplay = document.getElementById('formResult');
	        aDisplay.style.display='block';
	        aDisplay.innerHTML = "Email succesfully added. Stay tuned for updates.";
	      }	
	      else {
			document.getElementById('formId').style.display = 'none';
	        var aDisplay = document.getElementById('formResult');
	        aDisplay.style.display='block';
	        aDisplay.innerHTML = "This email address is already signed up.";
	      }
	  	}
	}  // end of onready state

	var queryString = "?email=" + encodeURIComponent(emailAddr.value);

	  //form query string
	  //pass query string and execute php file
	aRequest.open("GET", "/uptodate/register.php" + queryString, true);
	aRequest.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
	  //aRequest.open("POST", "/uptodate/register.php", true);
	aRequest.send(null);
}

	//function to unsubscribe from our mailing list
	//if email is a valid email, we display the unsubscribed message to the user
	// even if email is not in our database
//Browser Support Code
function processUnsubscribe(){
	var aRequest;  // The variable that makes Ajax possible
	
	try{
		// Opera 8.0+, Firefox, Safari
		aRequest = new XMLHttpRequest();
	} catch (e){
		// Internet Explorer Browsers
		try{
			aRequest = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			try{
				aRequest = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e){
				// Something went wrong
				alert("Your browser broke!");
				return false;
			}
		}
	} //end of try/catch block
	
	 // get email input variable
	var emailAddr = document.getElementById('emailInput');
	
    // Create a function that will receive data sent from the server
    aRequest.onreadystatechange = function(){
	    if(aRequest.readyState == 4){	
	        //check if the email is a duplicate of an email in db
		var aDisplay = 'none';
			//0 - remove it,  1 - email is invalied format, 3 - email field empty
	      if (aRequest.responseText == '2') {
			aDisplay = document.getElementById('errMsg');
	        aDisplay.style.display='block';
	        aDisplay.innerHTML = "No email entered.";
	        emailAddr.focus();
	        return false;
		  }
		  else if (aRequest.responseText == '1') {
			aDisplay = document.getElementById('errMsg');
	        aDisplay.style.display='block';
	        aDisplay.innerHTML = "Invalid email.";
	        emailAddr.focus();
	        emailAddr.select();
	        return false;
		  }
		  else if (aRequest.responseText == '0') {
	        document.getElementById('formId').style.display = 'none';
	        aDisplay = document.getElementById('formResult');
	        aDisplay.style.display='block';
	        aDisplay.innerHTML = "Your email was succesfully removed from our list. <br /> You will no longer receive any emails from us.";
	      }	
	  	}
	}  // end of onready state

	  //form query string
	var queryString = "?email=" + encodeURIComponent(emailAddr.value);
	  //pass query string and execute php file
	aRequest.open("GET", "unsubscribe.php" + queryString, true);
	aRequest.send(null);
}


