function datedescr(){
  var str;
  var d = new Date();
  
  switch (d.getDay()+1){
	case 1 :
	 str="Κυριακή ";
	 break;
	case 2 :
	 str="Δευτέρα ";
	 break;
	case 3 :
	 str="Τρίτη ";
	 break;
	case 4 :
	 str="Τετάρτη ";
	 break;
	case 5 :
	 str="Πέμπτη ";
	 break;
	case 6 :
	 str="Παρασκευή ";
	 break;
	case 7 :
	 str="Σάββατο ";
	 break;
  }
  
  str=str + d.getDate();
  
  switch (d.getMonth()+1) {
	case 1 :
	 str= str + " Ιανουαρίου";
	 break;
	case 2 :
	 str= str + " Φεβρουαρίου";
	 break;
	case 3 :
	 str= str + " Μαρτίου";
	 break;
	case 4 :
	 str= str + " Απριλίου";
	 break;
	case 5 :
	 str= str + " Μαίου";
	 break;
	case 6 :
	 str= str + " Ιουνίου";
	 break;
	case 7 :
	 str= str + " Ιουλίου";
	 break;
	case 8 :
	 str= str + "Αυγούστου";
	 break;
	case 9 :
	 str= str + " Σεπτεμβρίου";
	 break;
	case 10 :
	 str= str + " Οκτωβρίου";
	 break;
	case 11 :
	 str= str + " Νοεμβρίου";
	 break;
	case 12 :
	 str= str + " Δεκεμβρίου";
	 break;
  }
  
  str= str + ", " + d.getFullYear();
  return str;
}


function CheckQuantity(Amount, MinNumber){
  if ( isNaN(Amount) ||  Amount < MinNumber || (Amount-Math.floor(Amount) != 0) ) {
    alert('Μη επιτρεπτή ποσότητα');
    return false;
  }
  return true;
}


function Encode(Input){
  var n;
  for(var n=0;n<delimiter.length;n++){
    while(Input.indexOf(delimiter.charAt(n)) != -1){
      Input = Input.replace(delimiter.charAt(n), '$@'+n );
    }
  }
  return Input;
}


function Decode(Input){
  var n;
  for(var n=0;n<delimiter.length;n++){
    while(Input.indexOf('$@'+n) != -1){
      Input = Input.replace('$@'+n, delimiter.charAt(n));
    }
  }
  return Input;
}


function FormatNumber(number){
  var digits, rest, i, j, RoundValue;
  var AttrValue=new Function("this.value");
  RoundValue = '0.';
  if (GetValue('__Currency',AttrValue))
    digits=parseInt(BreakBy(CurrencyArray[AttrValue.value],delimiter.charAt(1),4));
  if(isNaN(number)){
    number = "0";  
    rest = "0";
  }
  else{
    for (i=1;i<=digits;i++)
      RoundValue = RoundValue + '0'
    RoundValue = parseFloat(RoundValue + '5');
    rest=(number-Math.floor(number)+RoundValue).toString();
    rest=rest.substring(rest.indexOf('.')+1, rest.indexOf('.')+1+digits);				
  }
  if (digits == 0)
    number=Math.round(number);
  number = Math.floor(number).toString();  
  if (parseInt(rest.length) < digits)
    for(j=0;j<=(digits-parseInt(rest.length));j++)
      rest = rest + '0';   
  for (i = 0; i < Math.floor((number.length-(1+i))/3); i++)
    number = number.substring(0,number.length-(4*i+3)) + '.' + number.substring(number.length-(4*i+3));
  if (digits>0)
    number = number + ',' + rest;
  return number;
}


function DeleteValue(KeyName){
  var AttrValue=new Function("this.value");
  if (GetValue(KeyName,AttrValue))
    self.name = self.name.substring(0,self.name.indexOf(KeyName)) 
              + self.name.substring(self.name.indexOf(delimiter.charAt(0),self.name.indexOf(KeyName))+1);    
}


function SetValue(KeyName,Value){
  var AttrValue=new Function("this.value");
  if (GetValue(KeyName,AttrValue))
    DeleteValue(KeyName);  
  self.name=self.name + KeyName + delimiter.charAt(2) + Value + delimiter.charAt(0);
}


function GetValue(KeyName,Out){
  var KeyArray, ValueArray, n;
  KeyArray = self.name.split(delimiter.charAt(0));
  for (n=0;n<KeyArray.length-1;n++){
    ValueArray=KeyArray[n].split(delimiter.charAt(2));
    if (ValueArray[0] == KeyName){ 
      Out.value=ValueArray[1];
      return true;
    }
  }
  Out.Value=null;
  return false;
}              


function BreakBy(StrInput,Separator,Position){
  var Out,n,SepPos;
  for (n=1;n<=Position;n++){
    SepPos=StrInput.indexOf(Separator);
    Out=StrInput.substring(0,SepPos);
    StrInput=StrInput.substring(SepPos+1);
    if(Out == '' && SepPos == -1){
        Out=StrInput;
        StrInput='';
    }
  }
  if(Out)
      return Out;
  else
      return '';
}


function GetPrice(amount){
  var AttrValue=new Function("this.value");
  if (GetValue('__Currency',AttrValue))
    return parseFloat(BreakBy(CurrencyArray[AttrValue.value],delimiter.charAt(1),3))*amount;
}  
  
  
function CurrencyPrint(){
  var AttrValue=new Function("this.value");
  if (GetValue('__Currency',AttrValue))
    return Decode(BreakBy(CurrencyArray[AttrValue.value],delimiter.charAt(1),2));
}


function OptionsPrint(ArrayName){
  var m, Options;
  Options='';
  for(m=0;m<eval(ArrayName).length;m++){
    Options = Options + '<option value="' + m + '"';
    if (Decode(BreakBy(eval(ArrayName)[m],delimiter.charAt(1),3)) == 1)
      Options = Options + ' selected';
    Options = Options + '>' + Decode(BreakBy(eval(ArrayName)[m],delimiter.charAt(1),2)) + '</option>';
  }
  return Options;
}


function CurrencySelect(){
  var AttrValue=new Function("this.value");
  var m = -1;
  if (GetValue('__Currency', AttrValue)){
    do{
      m++;
      if (Decode(AttrValue.value) == document.frmCurrency.cmbCurrency.options[m].value)
        document.frmCurrency.cmbCurrency.options[m].selected=true;
    }while(Decode(AttrValue.value) != document.frmCurrency.cmbCurrency.options[m].value)
  }
}


function CartItems(){
  var Str=self.name;
  var StartCart=0;
  var SepPos, Items;
  Items = 0;
  do{
    StartCart=Str.indexOf('__Cart');
    if(StartCart != -1){
      SepPos=Str.indexOf(delimiter.charAt(0),Str.indexOf('__Cart'));
      Items = Items + parseInt(BreakBy(Str.substring(Str.indexOf(delimiter.charAt(2),StartCart)+1,SepPos),delimiter.charAt(1),8));
      Str=Str.substring(SepPos+1);
    }    
  }while (StartCart != -1)
  return Items;
}


function SaveCurrency(Values){
  var expDate = new Date();
  expDate.setDate(expDate.getDate()+365);
  document.cookie =  '__CurrencyInfo=' + escape(Values + delimiter.charAt(1)) + ';expires=' + expDate.toGMTString();
  SetValue('__Currency', Values);
}


function LoadCurrency(){
  var Values = document.cookie;
  if (Values.indexOf('__CurrencyInfo=') != -1){
    Values=unescape(Values);
    Values=Values.substring(Values.indexOf('__CurrencyInfo=') + '__CurrencyInfo='.length);
    SetValue('__Currency', BreakBy(Values,delimiter.charAt(1),1));
  }
}


function MinQuantity(){

  var CartStr, SepPos, Values, StartCart;
  var Str = self.name;
  do{
    StartCart=Str.indexOf('__Cart');
    if (Str.indexOf('__Cart') != -1){
    
      SepPos=Str.indexOf(delimiter.charAt(0),Str.indexOf('__Cart'));
      if ( parseInt(BreakBy(Str.substring(Str.indexOf(delimiter.charAt(2),StartCart)+1,SepPos),delimiter.charAt(1),4)) < parseInt(BreakBy(Str.substring(Str.indexOf(delimiter.charAt(2),StartCart)+1,SepPos),delimiter.charAt(1),4)) ){
        SetValue('__ErrMessage', Encode(BreakBy(Str.substring(Str.indexOf(delimiter.charAt(2),StartCart)+1,SepPos),delimiter.charAt(1),4)) + delimiter.charAt(1) 
                               + Encode(BreakBy(Str.substring(Str.indexOf(delimiter.charAt(2),StartCart)+1,SepPos),delimiter.charAt(1),7)) + delimiter.charAt(1) 
                               + Encode(BreakBy(Str.substring(Str.indexOf(delimiter.charAt(2),StartCart)+1,SepPos),delimiter.charAt(1),2)) + delimiter.charAt(1)
                               + Encode(BreakBy(Str.substring(Str.indexOf(delimiter.charAt(2),StartCart)+1,SepPos),delimiter.charAt(1),6)));
        return false;
      }
      Str=Str.substring(SepPos+1);
    }
  }while (StartCart != -1)
  
  if (self.name.indexOf('__Cart') == -1)
    return false;
  return true;
}

function CheckFields(formName){
  var i;
  for (i=0;i<eval('document.' + formName).length;i++)
    if ((eval('document.' + formName).elements[i].id.indexOf('required') != -1) && (eval('document.' + formName).elements[i].value == '')){
      alert('Δεν έχετε συμπληρώσει υποχρεωτικό πεδίο.');
      eval('document.' + formName).elements[i].focus();
      return false;
    }
  return true;  
}


function CategoriesPrint(){
  var i,Str;
  Str = '';
  for (i=0;i<CategoryArray.length;i++){
    Str = Str + '<tr>'
              +   '<td width="13" valign="top"><a href="' + Decode(BreakBy(CategoryArray[i],delimiter.charAt(1),3)) + '"><img border="0" src="images/bt_plus.gif" vspace="3" width="13" height="9"></a></td>'    
              +   '<td width="100%"><a href="' + Decode(BreakBy(CategoryArray[i],delimiter.charAt(1),3)) + '" class="spotlink">' + Decode(BreakBy(CategoryArray[i],delimiter.charAt(1),2)) + '</a></td>'
              + '</tr>';
  }
  return Str;
}



function PrintProductInfo(i,frmName,edtName){
  var strOut;
  strOut = '<tr>'
         +   '<td align="center" valign="top">'
         +     '<img src="products/' + Decode(BreakBy(ProductsArray[i],delimiter.charAt(1),9)) + '" border="0" alt="' + Decode(BreakBy(ProductsArray[i],delimiter.charAt(1),9)) + '" hspace="5" border="0" width="70">'
         +   '</td>'
         +   '<td width="100%" valign="top">'
         +     '<span class="productTitle">' 
         +       Decode(BreakBy(ProductsArray[i],delimiter.charAt(1),4)) 
         +     '</span><br><br>'
         +     '<span class="mainHeader">' 
         +       'Κωδικός:&nbsp;'
         +     '</span>'
         +     '<span class="productCode">' 
         +       Decode(BreakBy(ProductsArray[i],delimiter.charAt(1),2)) 
         +     '</span><br>'
         +     '<span class="mainHeader">' 
         +       'Τιμή:&nbsp;'
         +     '</span>'
         +     '<span class="productPrice">' 
         +       CurrencyPrint() + ' ' + FormatNumber(GetPrice(Decode(BreakBy(ProductsArray[i],delimiter.charAt(1),5)))) 
         +     '</span><br>'
         +     '<span class="productDescription">' 
         +       Decode(BreakBy(ProductsArray[i],delimiter.charAt(1),8)).substring(0,100) + '...'
         +     '</span><br>'
         +      '<input type="hidden" value="1" size="3" maxlength="3" class="editbox" name="' + edtName + i + '">'
         +      '<a href="#" class="mainlink" onclick="javascript:AddProduct(\'' + frmName + '.' + edtName + i + '\',' + i + ');return false;"><img src="images/bt_add_cart.gif" border="0" align="absmiddle" alt="Προσθήκη στο καλάθι" hspace="2" vspace="5">Προσθήκη</a>&nbsp;'
         +      '<a href="' + Decode(BreakBy(ProductsArray[i],delimiter.charAt(1),3)) + '" class="mainlink"><img src="images/bt_viewoptions.gif" border="0" alt="Λεπτομέρειες" hspace="2" vspace="5" align="absmiddle" WIDTH="28" HEIGHT="28">Λεπτομέρειες</a><br>'
         +   '</td>'
         + '</tr>'
         + '<tr>'
         +   '<td colspan="2">'
         +     '<hr size="1" class="hr" width="100%">'
         +   '</td>'
         + '</tr>';  
  return strOut;
}


function PrintProducts(ListName,ProductsToShow,frmName,edtName){
  var i,j;
  var strOut = '';
  j=1;
  while(BreakBy(eval(ListName),delimiter.charAt(1),j) != '' ) {
    for (i=0;i<ProductsArray.length;i++){
      if (BreakBy(ProductsArray[i],delimiter.charAt(1),1) == BreakBy(eval(ListName),delimiter.charAt(1),j)){
        strOut = strOut + PrintProductInfo(i,frmName,edtName);
        if (ProductsToShow == j) 
          return strOut + '<tr><td class="productDescription" colspan="2" align="center">ΟΙ ΤΙΜΕΣ ΔΕΝ ΣΥΜΠΕΡΙΛΑΜΒΑΝΟΥΝ ΦΠΑ</td></tr>';
      }
    }
    j++;
  }
  return strOut + '<tr><td class="productDescription" colspan="2" align="center">ΟΙ ΤΙΜΕΣ ΔΕΝ ΣΥΜΠΕΡΙΛΑΜΒΑΝΟΥΝ ΦΠΑ</td></tr>';
}


function FindProduct(frmName,edtName,ProductId){
  var i;
  for (i=0;i<ProductsArray.length;i++){
    if (BreakBy(ProductsArray[i],delimiter.charAt(1),1) == ProductId)
      AddProduct(frmName + '.' + edtName, i)
  }
}

function FindMainCurrency(){
  var i;
  for (i=0;i<CurrencyArray.length;i++){
    if (BreakBy(CurrencyArray[i],delimiter.charAt(1),3) == 1)
      return i;
  }
}

if (self.name == ''){
  self.name = '__Currency=' + FindMainCurrency() + ';';
  LoadCart();
  LoadCurrency();
}

