// Functii formular de comanda
// http://www.orange.ro
var processor="/freesim/Order.mvc/Create";
var guid=null;
var captcha_img=null;
var response;
var resphttp;
var xmlhttp;

function send_data(url, postdata)
{
resphttp=null;
if (window.XMLHttpRequest)
  {// code for all new browsers
  	resphttp=new XMLHttpRequest();
  }
else if (window.ActiveXObject)
  {// code for IE5 and IE6
  	resphttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
if (resphttp!=null)
  {
	  //resphttp.onreadystatechange=state_Change;
	  resphttp.open("POST",url,false);
	  resphttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
	  resphttp.setRequestHeader("Content-length", postdata.length);
	  resphttp.setRequestHeader("Connection", "close");
	  resphttp.send(postdata); 
	  process_result();
  }
else
  {
	  return false;
  }
}

function refresh_captcha()
{
xmlhttp=null;
if (window.XMLHttpRequest)
  {// code for all new browsers
  	xmlhttp=new XMLHttpRequest();
  }
else if (window.ActiveXObject)
  {// code for IE5 and IE6
  	xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
if (xmlhttp!=null)
  {
	  xmlhttp.onreadystatechange=refresh_captcha_img;
	  xmlhttp.open("GET","/freesim/Order.mvc/NewCaptcha",true);
	  xmlhttp.send(null); 
  }
else
  {
  	refresh_captcha();
  }
}

function state_Change()
{

if (resphttp.readyState==4)
  {// 4 = "loaded"
  if (resphttp.status==200)
    {// 200 = OK
    	process_result();
    }
  else
    {
    	return false;
    }
  }
}

function refresh_captcha_img()
{
	if (xmlhttp.readyState==4)
  {// 4 = "loaded"
  if (xmlhttp.status==200)
    {// 200 = OK
    	guid=JSON.parse(xmlhttp.responseText);
		document.getElementById("captcha_img").src="/freesim/Order.mvc/GetCaptchaPicture?guid="+guid.guid;
    }
  else
    {
    	refresh_captcha();
    }
  }
}

function valid_email(email)
{
	apos=email.indexOf("@");
	dotpos=email.lastIndexOf(".");
	if(email.length<6 || apos<1 || dotpos>email.length-3 || dotpos-apos<=1) return false;
	else return true;
}

function check_order_form(revalidate)
{
	var formular_comanda=document.comanda_sim;
	var nume=document.comanda_sim.nume.value;
	var prenume=formular_comanda.prenume.value;
	var email=formular_comanda.email.value;
	var strada=formular_comanda.strada.value;
	var nr=formular_comanda.nr.value;
	var bloc=formular_comanda.bloc.value;
	var scara=formular_comanda.scara.value;
	var apartament=formular_comanda.apartament.value;
	var localitate=formular_comanda.localitate.value;
	var judet=formular_comanda.judet.value;
	var captcha=formular_comanda.captcha.value;
	var terms=formular_comanda.terms_conditions;
	var marketing=(formular_comanda.marketing.checked==true)?true:false;

	var valid=true;
	
	if(nume.length<1 || (revalidate==true && response.detail.nume=="missing")) { document.getElementById("err_nume").style.display="block"; valid=false; }
	else { document.getElementById("err_nume").style.display="none"; }
	
	if(prenume.length<1 || (revalidate==true && response.detail.prenume=="missing")) { document.getElementById("err_prenume").style.display="block"; valid=false; }
	else { document.getElementById("err_prenume").style.display="none"; }
	
	if(!valid_email(email) || (revalidate==true && response.detail.email=="missing")) { document.getElementById("err_email").style.display="block"; valid=false; }
	else { document.getElementById("err_email").style.display="none"; }
	
	if(revalidate==true && response.detail.email=="duplicate email") { document.getElementById("err_duplicate_email").style.display="block"; valid=false; }
	else { document.getElementById("err_duplicate_email").style.display="none"; }
	
	if(strada.length<1 || (revalidate==true && response.detail.strada=="missing")) { document.getElementById("err_strada").style.display="block"; valid=false; }
	else { document.getElementById("err_strada").style.display="none"; }
	
	if(revalidate==true && response.detail.strada=="Exista deja comenzi cu livrare la aceasta adresa.") { document.getElementById("err_duplicate_strada").style.display="block"; valid=false; }
	else { document.getElementById("err_duplicate_strada").style.display="none"; }
	
	if(localitate.length<1 || (revalidate==true && response.detail.localitate=="missing")) { document.getElementById("err_localitate").style.display="block"; valid=false; }
	else { document.getElementById("err_localitate").style.display="none"; }
	
	if(judet=="" || (revalidate==true && response.detail.judet=="missing")) { document.getElementById("err_judet").style.display="block"; valid=false; }
	else { document.getElementById("err_judet").style.display="none"; }
	
	if(captcha.length<1 || (revalidate==true && (response.detail.captcha=="missing" || response.detail.captcha_validation=="invalid"))) { document.getElementById("err_captcha").style.display="block"; valid=false; }
	else { document.getElementById("err_captcha").style.display="none"; }	
	
	if(terms.checked==false) { document.getElementById("err_terms").style.display="block"; valid=false; }
	else { document.getElementById("err_terms").style.display="none"; }
	
	if(valid && revalidate!=true)
	{
		postdata="nume="+nume+"&prenume="+prenume+"&email="+email+"&strada="+strada+"&nr="+nr+"&bloc="+bloc+"&scara="+scara+"&apartament="+apartament+"&localitate="+localitate+"&judet="+judet+"&captcha="+captcha+"&banner=0&guid="+guid.guid+"&marketing="+marketing;
		send_data(processor,postdata);
	}
	else
	{
		refresh_captcha();
	}
}

function process_result()
{
	response=resphttp.responseText;
	response=JSON.parse(response);
	if(response.status=="ERROR")
	{
		check_order_form(true);
	}
	else if(response.status=="OK") document.location="/free-sim/confirmare.html";
}

// Functii formular "trimite unui prieten"

var stf_processor="/freesim/Order.mvc/SendEmailToFriend";
var stf_guid=null;
var stf_captcha_img=null;
var stf_response;
var stf_resphttp=null;
var stf_xmlhttp=null;

function stf_send_data(url, postdata)
{
stf_resphttp=null;
if (window.XMLHttpRequest)
  {// code for all new browsers
  	stf_resphttp=new XMLHttpRequest();
  }
else if (window.ActiveXObject)
  {// code for IE5 and IE6
  	stf_resphttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
if (stf_resphttp!=null)
  {
	  //stf_resphttp.onreadystatechange=stf_state_Change;
	  stf_resphttp.open("POST",url,false);
	  stf_resphttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); 
	  stf_resphttp.setRequestHeader("Content-length", postdata.length);
	  stf_resphttp.setRequestHeader("Connection", "close");
	  stf_resphttp.send(postdata);
	  stf_process_result();
  }
else
  {
  	return false;
  }
}

function stf_refresh_captcha()
{
stf_xmlhttp=null;
if (window.XMLHttpRequest)
  {// code for all new browsers
  	stf_xmlhttp=new XMLHttpRequest();
  }
else if (window.ActiveXObject)
  {// code for IE5 and IE6
  	stf_xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
if (stf_xmlhttp!=null)
  {
	  stf_xmlhttp.onreadystatechange=stf_refresh_captcha_img;
	  stf_xmlhttp.open("GET","/freesim/Order.mvc/NewCaptcha",true);
	  stf_xmlhttp.send(null); 
  }
else
  {
  	stf_refresh_captcha();
  }
}

function stf_refresh_captcha_img()
{
if (stf_xmlhttp.readyState==4)
  {// 4 = "loaded"
  if (stf_xmlhttp.status==200)
    {// 200 = OK
    	stf_guid=JSON.parse(stf_xmlhttp.responseText);
		document.getElementById("stf_captcha_img").src="/freesim/Order.mvc/GetCaptchaPicture?guid="+stf_guid.guid;
    }
  else
    {
    	stf_refresh_captcha();
    }
  }
}

function stf_state_Change()
{
if (stf_xmlhttp.readyState==4)
  {// 4 = "loaded"
  if (stf_xmlhttp.status==200)
    {// 200 = OK
    	stf_process_result();
    }
  else
    {
    	return false;
    }
  }
}

function check_stf_form(revalidate)
{
	var stf_form=document.stf_form;
	
	var nume_expeditor=stf_form.nume_expeditor.value;
	var nume_destinatar=stf_form.nume_destinatar.value;
	var email_destinatar=stf_form.email_destinatar.value;
	var stf_captcha=stf_form.stf_captcha.value;
	
	var stf_valid=true;
	
	if(nume_expeditor.length<1 || (revalidate==true && stf_response.detail.nume_exp)) {document.getElementById("err_nume_expeditor").style.display="block"; stf_valid=false;}
	else document.getElementById("err_nume_expeditor").style.display="none";
	
	if(nume_destinatar.length<1 || (revalidate==true && stf_response.detail.nume_dest)) {document.getElementById("err_nume_destinatar").style.display="block"; stf_valid=false;}
	else document.getElementById("err_nume_destinatar").style.display="none";
	
	if(!valid_email(email_destinatar) || (revalidate==true && stf_response.detail.email_dest)) {document.getElementById("err_email_destinatar").style.display="block"; stf_valid=false;}
	else document.getElementById("err_email_destinatar").style.display="none";
	
	if(stf_captcha.length<1 || (revalidate==true && (stf_response.detail.captcha_validation || stf_response.detail.captcha))) {document.getElementById("err_stf_captcha").style.display="block"; stf_valid=false;}
	else document.getElementById("err_stf_captcha").style.display="none";
	
	if(stf_valid && revalidate!=true)
	{
		postdata="nume_exp="+nume_expeditor+"&nume_dest="+nume_destinatar+"&email_dest="+email_destinatar+"&captcha="+stf_captcha+"&banner=0&guid="+stf_guid.guid;
		stf_send_data(stf_processor,postdata);
	}
	else
	{
		stf_refresh_captcha();
	}
}

function stf_process_result()
{
	stf_response=stf_resphttp.responseText;
	stf_response=JSON.parse(stf_response);
	if(stf_response.status=="ERROR")
	{
		check_stf_form(true);
	}
	else if(stf_response.status=="OK")
	{
		document.getElementById("stf_success").style.display="block";
		stf_refresh_captcha();
		document.stf_form.reset();
	}
}
