// (C) GALA.net Kiev Sep 2001 ---------------- MSerg   mserg@galaradio.com
// project  : GalaHoroscope
// part     : JavaScript support functions

var documentReady = false;

// Detect browser specifics
var IE=null, NS4=null, NS5=null, KO=null, OP=null;
var navN=navigator.appName;
if(navN.indexOf('Netscape')>=0) {
	if(navigator.appVersion.substring(0,1)>=5 ) NS5=1;
	else NS4=1;
} else if(navN.indexOf('Konqueror')>=0) KO=1;
else if(navN.indexOf('Opera')>=0) OP=1;
else IE=1;


// вернуть текущий option из select
function getSelected(slc) {
  //if(slc.tagName=='SELECT')
  return slc.options[slc.selectedIndex];
}

// определить знак Зодиака по дате
var DetectedSign=13;
var D=new Array();

D[1]=  [ 21,3, 20,4 ];
D[2]=  [ 21,4, 20,5 ];
D[3]=  [ 21,5, 21,6 ];
D[4]=  [ 22,6, 22,7 ];
D[5]=  [ 23,7, 23,8 ];
D[6]=  [ 24,8, 23,9 ];
D[7]=  [ 24,9, 23,10];
D[8]=  [ 24,10,22,11];
D[9]=  [ 23,11,21,12];
D[10]= [ 22,12,20,1 ];
D[11]= [ 21,1, 20,2 ];
D[12]= [ 21,2, 20,3 ];
// definition of S[] moved to page.tpl
function calcSign(lang,auto) {
  var f=document.forms.Sign;
  var d=parseInt(getSelected(f.b_dd).text);
  var m=parseInt(getSelected(f.b_mm).value);
  var M=getSelected(f.b_mm).text;
  if(auto!=1) {// запомнить дату
    setCookie('usercbd',d);
    setCookie('usercbm',m);
  }
  var s=1;
  for( i=1; i<=12; i++ ) {
    if( (m==D[i][1] && d>=D[i][0]) || (m==D[i][3] && d<=D[i][2]) ) s=i;
  }
  DetectedSign=s;
//  if(KO) lang='ko';
  f.signName.value=S[s+lang];
  return false;
}
// переход на знак по кнопке в заголовке
function gotoSign(lang) {
  window.location.href='?lang='+lang+'&sign='+DetectedSign;
}

// обслуживание смены месяца
function mChg(lang) {
  var option_;
  var f = document.forms.Sign; // объект форма
  var mm=getSelected(f.b_mm).value;// выбран месяц
  // обработать select дней
  var dd=daysInMonth(mm,2000);
  var si=f.b_dd.selectedIndex;
  if(f.b_dd.selectedIndex+1>dd) si=0;
  if(f.b_dd.length>dd) {        // сократить
    if(!NS4) for( i=f.b_dd.length-1; i>=dd; i-- ) f.b_dd.remove(i);
    else     for( i=f.b_dd.length-1; i>=dd; i-- ) f.b_dd.options[i]=null;
  } else if(f.b_dd.length<dd) { // дополнить
    for( i=f.b_dd.length; i<=dd; i++ ) {
      option_ = new Option(i,"");
      f.b_dd.options[i-1]=option_;
    }
  }
  f.b_dd.selectedIndex=si;
  calcSign(lang);
}


// дней в мес+год
var is31='1,3,5,7,8,10,12';// месяцы с 31 днем
function daysInMonth(mm,yy) {
  var d=30;
  if(mm==2) { d=28; if(yy%4==0) d++;}
  else if(is31.indexOf(""+mm)>=0) d=31;
  return d;
}

// сохранить куки
function setCookie(name, value, expires, path, domain, secure) {
  var ed=new Date(2010,1,1);
  var curCookie = name + "=" + escape(value)+"; expires="+
    ((expires) ? expires.toGMTString() : ed.toGMTString() ) +
    ((path) ? "; path=" + path : "") +
    ((domain) ? "; domain=" + domain : "") +
    ((secure) ? "; secure" : "");
  document.cookie = curCookie;
}