
	   
	function GetXmlHttpObject()
	{
		var xmlHttp=null;
		try
		 {
			 // Firefox, Opera 8.0+, Safari
			 xmlHttp=new XMLHttpRequest();
		 }
		  catch (e)
			 {
			 // Internet Explorer
			 try
			  {
			    xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
			  }
			 catch (e)
			  {
				  try
			       {
			        xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
				   }
				    catch (e)
					{
						 alert('Your Browser does not support AJAX!');
					}
			  }
		    }
		return xmlHttp;
	}
	
/***************************** getAjax ****************************************/	
	function getAjax(form) {
	 obj = document.getElementById(form);
	  var tagName ="";
      var getstr = "?&";
      for (i=0; i<obj.childNodes.length; i++) {
		   tagName =( obj.childNodes[i].tagName != null )? obj.childNodes[i].tagName.toUpperCase() : "";
         if ( tagName == "INPUT") {
			 var type = obj.childNodes[i].type.toUpperCase() ; 
            if ( type == "TEXT" ||type == "PASSWORD" ||type == "HIDDEN" ||type == "BUTTON" ||
				type == "SUBMIT" ) {
               getstr += obj.childNodes[i].name + "=" + obj.childNodes[i].value + "&";
            }
            if ( type == "CHECKBOX") {
               if (obj.childNodes[i].checked) {
                  getstr += obj.childNodes[i].name + "=" + obj.childNodes[i].value + "&";
               } else {
                  getstr += obj.childNodes[i].name + "=&";
               }
            }
            if ( type == "RADIO") {
               if ( obj.childNodes[i].checked ) {
                  getstr += obj.childNodes[i].name + "=" + obj.childNodes[i].value + "&";
               }
            }
         }   
         if ( tagName == "SELECT") {
            var sel = obj.childNodes[i];
            getstr += sel.name + "=" + sel.options[sel.selectedIndex].value + "&";
         }
		  if ( tagName == "TEXTAREA") {
            var ta = obj.childNodes[i];
            getstr += ta.name + "=" + ta.innerText  + "&";
         }
      }
      return getstr;
   }

/****************************** postAjax ****************************************/

   function postAjax(form) {
	   obj = document.getElementById(form);
      var poststr = "";
      for (i=0; i<obj.childNodes.length; i++) {
		  tagName =( obj.childNodes[i].tagName != null )? obj.childNodes[i].tagName.toUpperCase() : "";
         if ( tagName == "INPUT") {
			 var type = obj.childNodes[i].type.toUpperCase() ; 
            if ( type == "TEXT" ||type == "PASSWORD" ||type == "HIDDEN" ||type == "BUTTON" || type == "SUBMIT" ) {
               poststr += obj.childNodes[i].name + "=" + encodeURI( obj.childNodes[i].value ) + "&";
            }
            if ( type == "CHECKBOX") {
               if (obj.childNodes[i].checked) {
                  poststr += obj.childNodes[i].name + "=" + encodeURI( obj.childNodes[i].value ) + "&";
               } else {
                  poststr += obj.childNodes[i].name + "=&";
               }
            }
            if ( type == "RADIO") {
               if ( obj.childNodes[i].checked ) {
                  poststr += obj.childNodes[i].name + "=" + encodeURI( obj.childNodes[i].value ) + "&";
               }
            }
         }   
         if ( tagName == "SELECT") {
            var sel = obj.childNodes[i];
            poststr += sel.name + "=" + encodeURI( sel.options[sel.selectedIndex].value ) + "&";
         }
		  if ( tagName == "TEXTAREA") {
            var ta = obj.childNodes[i];
            poststr += ta.name + "=" + encodeURI( ta.innerText ) + "&";
         }
         
      }
      return poststr;
   }
	   
///////////////////////////////////////////////////////	
  function Post( form , url ,parameters, ajaxonreadyFunction , MyxmlHttp )
  {   
	  MyxmlHttp.onreadystatechange=ajaxonreadyFunction;
	  
	//  var parameters =  postAjax(form) ; 
	  MyxmlHttp.open('POST', url, true);
      MyxmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
      MyxmlHttp.setRequestHeader("Content-length", parameters.length);
      MyxmlHttp.setRequestHeader("Connection", "close");
      MyxmlHttp.send( parameters  );  
	  
   }
   
 /////////////////////////////////////////////////////////  
   function Get( form , url ,params, ajaxonreadyFunction ,MyxmlHttp)
  { 
	  MyxmlHttp.onreadystatechange=ajaxonreadyFunction;
	  
	 MyxmlHttp.open("GET",url + params,true);
     MyxmlHttp.send(null);  
   }
   
/* ##################################################################################
   ######                        USER ZONE                                      #####
   ##################################################################################*/
 
    function AjaxLaodPageToDiv( url , params , divID ,loadimageUrl )
	{
		var MyxmlHttp=GetXmlHttpObject();
		
		var onreadystatechangeFunction = function()
		{
			if(MyxmlHttp.readyState==4)
			{
				document.getElementById( divID ).innerHTML = MyxmlHttp.responseText;
			}
			if(MyxmlHttp.readyState!=4)
			{
				document.getElementById( divID ).innerHTML = '<div calss="waitDiv" ><img src="'+loadimageUrl+'"/></div>';
			}
		}
		MyxmlHttp.onreadystatechange = onreadystatechangeFunction ;
		MyxmlHttp.open("GET",url + "?" +  params,true);
        MyxmlHttp.send(null);
		
		document.getElementById( divID ).innerHTML = '<img src="'+loadimageUrl+'"/>';
		
	}
 
 
 
 
 /*************************  doPost  *****************************/ 
   function dobuyPost( form )
   {
		//if( !checkDownloadsfields() )  return;
		var url =/*TODO BY USER*/"../secureBuy/DoDirectPaymentReceipt.php";
		var fromObj = document.getElementById(form);
		var parameters = "firstName=" + encodeURI(fromObj['firstName'].value);
		parameters+= "lastName=" + encodeURI(fromObj['lastName'].value);
		parameters+= "creditCardType=" + encodeURI(fromObj['creditCardType'].value);
		parameters+= "creditCardNumber=" + encodeURI(fromObj['creditCardNumber'].value);
		parameters+= "expDateMonth=" + encodeURI(fromObj['expDateMonth'].value);
		parameters+= "expDateYear=" + encodeURI(fromObj['expDateYear'].value);
		parameters+= "cvv2Number=" + encodeURI(fromObj['cvv2Number'].value);
		parameters+= "address1=" + encodeURI(fromObj['address1'].value);
		parameters+= "city=" + encodeURI(fromObj['city'].value);
		parameters+= "state=" + encodeURI(fromObj['state'].value);
		parameters+= "zip=" + encodeURI(fromObj['zip'].value);
		parameters+= "country=" + encodeURI(fromObj['country'].value);
		
		parameters+= "serial=" + encodeURI(fromObj['serial'].value);
		parameters+= "email1=" + encodeURI(fromObj['email1'].value);
		parameters+= "email2=" + encodeURI(fromObj['email2'].value);
		
		var MyxmlHttp=GetXmlHttpObject();
		var onreadystatechangeFunction = function()
		{
			if(MyxmlHttp.readyState==4)
			{
				PostResultAction(MyxmlHttp.responseText);
			}
			if(MyxmlHttp.readyState!=4)
			{
				WaitToResponse();
			}
		}
		
		Post( form , url , parameters , onreadystatechangeFunction ,MyxmlHttp );	
   }

   /*************************  doPost  *****************************/ 
   function doPost( form )
   {
		if( !checkDownloadsfields() )  return;
		var url =/*TODO BY USER*/"../checkCode.php";
		var parameters = "code=" + encodeURI(document.f1['code'].value);
		var MyxmlHttp=GetXmlHttpObject();
		var onreadystatechangeFunction = function()
		{
			if(MyxmlHttp.readyState==4)
			{
				PostResultAction(MyxmlHttp.responseText);
			}
			if(MyxmlHttp.readyState!=4)
			{
				WaitToResponse();
			}
		}
		
		Post( form , url , parameters , onreadystatechangeFunction ,MyxmlHttp );	
   }
   /*************************   doGet   *****************************/
   function doGet( form ,url)
   {
	 
	   var parameters= "Lang="    + document.f1['Lang'].value    + "&";
	       parameters+= "cab="    + document.f1['type'].value   + "&";
	       parameters+= "email="  + document.f1['email'].value   + "&";
		   parameters+= "serial=" + document.f1['serial'].value  + "&";
		   parameters+= "prog="   + document.f1['prog'].value    + "&";
		   parameters+= "name="   + document.f1['name'].value    + "&";
		   parameters+= "size="   + document.f1['screen'].options[document.f1['screen'].selectedIndex].value + "&";
		   parameters+= "os="     + document.f1['os'].options[document.f1['os'].selectedIndex].value + "&";
		   parameters+= "model="   + document.f1['model'].value    + "&";
    	
		var MyxmlHttp=GetXmlHttpObject();

		var onreadystatechangeFunction = function()
		{
			if(MyxmlHttp.readyState==4)
			{
				ResultAction(MyxmlHttp.responseText);
			}
			if(MyxmlHttp.readyState!=4)
			{
				WaitToResponse();
			}
		}
		Get( form , url , parameters , onreadystatechangeFunction , MyxmlHttp);	
   }

/**************************************************************************
  ***********************       USER  ZONE*********************************
  *************************************************************************/
  
  function PostResultAction(result)
  {
   if (result !="err")
    {
		
		doGet( 'f1' , result );
    }
    else 
	{
		alert('Verification code Error,Try Again ... ');
		ChangeSrcImg('v1','../../dc/randomImage2.php');
		document.f1['code'].value = "";
		document.getElementById("formZone").style.display = '' ;
	    document.getElementById("resZone").style.display = 'none' ;
    }
  }
  
  function ResultAction(result)
   {// JavaScript Document
	   if ( result.indexOf("GOOD")>-1 )
	    {  
		    document.getElementById("formZone").style.display = '' ;
	        document.getElementById("resZone").style.display = 'none' ;
			document.getElementById("formZone").innerHTML = "<h3>Registration</h3><img src='../../images/download/complete.png'><br><br>you will receive an email to complete the installation<br><br><b>Check that the date of your device is updated.</b>";
			document.getElementById("helpZone").innerHTML ="";
		}
		else 
		{
			alert( result +',Try Again ... ');
		    ChangeSrcImg('v1','../../dc/randomImage2.php');
		    document.f1['code'].value = "";
		    document.getElementById("formZone").style.display = 'block' ;
	        document.getElementById("resZone").style.display = 'none' ;
		}
   }
   
   function WaitToResponse(){
    document.getElementById("formZone").style.display = 'none' ;
	document.getElementById("resZone").style.display = 'block' ;
	document.getElementById("resZone").innerHTML = '<img src="../../images/load.gif"><br><br>Please Wait...<br><br><br><br>';
   }