var reEmail=/^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/
var reText=/^([a-zA-Z0-9 \-']{2,30})+$/


//******************************************************************************************************************************
var ElementObjectsCache=new Object();
function GetE(objID){
  if (!ElementObjectsCache[objID]) ElementObjectsCache[objID]=document.getElementById(objID);    
  return ElementObjectsCache[objID];
}

//******************************************************************************************************************************
function OpenDocument(url,handleHttpResponseFunction){
  http.open("GET", url, true);
  if (handleHttpResponseFunction!='') eval("http.onreadystatechange = "+handleHttpResponseFunction);
  http.send(null);
  return;
}

//******************************************************************************************************************************
function getHTTPObject(){
  var xmlhttp;
  if(window.XMLHttpRequest){
    xmlhttp = new XMLHttpRequest();
  }else if (window.ActiveXObject){
    xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
    if (!xmlhttp){
      xmlhttp=new ActiveXObject("Msxml2.XMLHTTP");
    }
  }
  return xmlhttp;
}
var http = getHTTPObject(); // We create the HTTP Object

//******************************************************************************************************************************
function PutResponseInDiv(URL,DivId){
  OpenDocument(URL,"function () { if (http.readyState == 4){document.getElementById('"+DivId+"').innerHTML=http.responseText;};}");
}

//******************************************************************************************************************************
function setcookie(name, value, expires, path, domain, secure) {
    expires instanceof Date ? expires = expires.toGMTString() : typeof(expires) == 'number' && (expires = (new Date(+(new Date) + expires * 1e3)).toGMTString());
    var r = [name + "=" + escape(value)], s, i;
    for(i in s = {expires: expires, path: path, domain: domain}){
        s[i] && r.push(i + "=" + s[i]);
    }
    return secure && r.push("secure"), document.cookie = r.join(";"), true;
}

//******************************************************************************************************************************
function SearchProds(){
  if (GetE('filter_str').value=='' && GetE('filter_ctr').selectedIndex==0 && GetE('filter_autor').selectedIndex==0 && GetE('filter_editura').selectedIndex==0){
    alert('* Cel putin unul dintre campuri trebuie completat pentru a continua cautarea');
    GetE('filter_str').focus();
  }else{
    document.forms.mainform.search.value='1';
    document.forms.mainform.submit();
  }
}

//******************************************************************************************************************************
function TopSearchProds(page){
  if (GetE('topsearch').value=='' || GetE('topsearch').value.length<3){
    alert('Va rugam introduceti min 3 caractere in campul de cautare !');
    GetE('topsearch').focus();
  }else{
    window.location='/index.php?page='+page+'&search=1&filter_str='+GetE('topsearch').value;
  }
}

//******************************************************************************************************************************
function add2basket(productID){
  OpenDocument('/add2basket.php?productID='+productID,"function () { if (http.readyState == 4){afteradd2basket(http.responseText)}}");
}

//******************************************************************************************************************************
function afteradd2basket(responseText){
  index=responseText.split('|');
  //window.status=(index[0]+' / '+index[1]);
  switch (index[1]){
    case '-1':      
      break;

    case '1':
      setcookie('sessionID',index[0]);
      PutResponseInDiv('/returnSmallBasket.php','SmallBasket');
      alert('Produsul a fost adăugat la coș.');
      break;

    case '0':
      setcookie('sessionID',index[0]);
      PutResponseInDiv('/returnSmallBasket.php','SmallBasket');
      alert('Produsul este deja adăugat la coș.');
      break;
  }
  //Cos Cumparaturi
}

//******************************************************************************************************************************
function BasketRemoveLine(LineID){
  if (confirm('Sigur doriți să ștergeți produsul ? ')){
    OpenDocument('/returnLargeBasket.php?LindID='+LineID+'&db='+0,"function () { if (http.readyState == 4){document.getElementById('BASKTET_DIV').innerHTML=http.responseText;PutResponseInDiv('/returnSmallBasket.php','SmallBasket');};}");
  }
}

//******************************************************************************************************************************
function BasketRecalculateLine(LineID,Ertek){
  /*var Ertek;
  Ertek=GetE('pdb['+LineID+']').value;*/
  
  if(isNaN(Ertek) || Ertek<1){
    Ertek=1;
  }
  OpenDocument('/returnLargeBasket.php?LindID='+LineID+'&db='+Ertek,"function () { if (http.readyState == 4){document.getElementById('BASKTET_DIV').innerHTML=http.responseText;PutResponseInDiv('/returnSmallBasket.php','SmallBasket');};}");
  //PutResponseInDiv(,'');
  //
  //alert(LineID);
}
//******************************************************************************************************************************
function ValidateOrder(){
  var ErrorMessage='';
  var FirstError='';
  if (!reText.test(document.forms.mainform.f_name.value)){
    ErrorMessage+="\n - Nume";
    if (FirstError=='') FirstError='f_name';
  }
  if (!reText.test(document.forms.mainform.f_city.value)){
    ErrorMessage+="\n - Oraș";
    if (FirstError=='') FirstError='f_city';
  }
 
  if (document.forms.mainform.f_address.value==''){
    ErrorMessage+="\n - Adresa";
    if (FirstError=='') FirstError='f_address';
  }
  
  if (document.forms.mainform.f_phone.value==''){
    ErrorMessage+="\n - Telefon";
    if (FirstError=='') FirstError='f_phone';
  }
  
  if (ErrorMessage==''){
    document.forms.mainform.action.value='SubmitOrder';
    document.forms.mainform.submit();
  }else{
    alert('Vă rugăm să complectați toate câmpurile obligatorii : '+ErrorMessage);
    document.forms.mainform[FirstError].focus();
  }

}