// Real Browser Detection//initialization, browser, os detectionvar d, dom, nu='', brow='', ie, ie4, ie5, ie5x, ie6, ie7;var ns4, moz, moz_rv_sub, release_date='', moz_brow, moz_brow_nu='', moz_brow_nu_sub='', rv_full=''; var mac, win, old, lin, ie5mac, ie5xwin, konq, saf, op, op4, op5, op6, op7;d=document;n=navigator;nav=n.appVersion;nan=n.appName;nua=n.userAgent;old=(nav.substring(0,1)<4);mac=(nav.indexOf('Mac')!=-1);win=( ( (nav.indexOf('Win')!=-1) || (nav.indexOf('NT')!=-1) ) && !mac)?true:false;lin=(nua.indexOf('Linux')!=-1);// begin primary dom/ns4 test// this is the most important test on the pageif ( !document.layers ){	dom = ( d.getElementById ) ? d.getElementById : false;}else { 	dom = false; 	ns4 = true;// only netscape 4 supports document layers}// end main dom/ns4 testop=(nua.indexOf('Opera')!=-1);saf=(nua.indexOf('Safari')!=-1);konq=(!saf && (nua.indexOf('Konqueror')!=-1) ) ? true : false;moz=( (!saf && !konq ) && ( nua.indexOf('Gecko')!=-1 ) ) ? true : false;ie=((nua.indexOf('MSIE')!=-1)&&!op);if (op){	str_pos=nua.indexOf('Opera');	nu=nua.substr((str_pos+6),4);	brow = 'Opera';}else if (saf){	str_pos=nua.indexOf('Safari');	nu=nua.substr((str_pos+7),5);	brow = 'Safari';}else if (konq){	str_pos=nua.indexOf('Konqueror');	nu=nua.substr((str_pos+10),3);	brow = 'Konqueror';}// this part is complicated a bit, don't mess with it unless you understand regular expressions// note, for most comparisons that are practical, compare the 3 digit rv nubmer, that is the output// placed into 'nu'.else if (moz){	// regular expression pattern that will be used to extract main version/rv numbers	pattern = /[(); \n]/;	// moz type array, add to this if you need to	moz_types = new Array( 'Firebird', 'Phoenix', 'Firefox', 'Galeon', 'K-Meleon', 'Camino', 'Epiphany', 		'Netscape6', 'Netscape', 'MultiZilla', 'Gecko Debian', 'rv' );	rv_pos = nua.indexOf( 'rv' );// find 'rv' position in nua string	rv_full = nua.substr( rv_pos + 3, 6 );// cut out maximum size it can be, eg: 1.8a2, 1.0.0 etc	// search for occurance of any of characters in pattern, if found get position of that character	rv_slice = ( rv_full.search( pattern ) != -1 ) ? rv_full.search( pattern ) : '';	//check to make sure there was a result, if not do  nothing	// otherwise slice out the part that you want if there is a slice position	( rv_slice ) ? rv_full = rv_full.substr( 0, rv_slice ) : '';	// this is the working id number, 3 digits, you'd use this for 	// number comparison, like if nu >= 1.3 do something	nu = rv_full.substr( 0, 3 );	for (i=0; i < moz_types.length; i++)	{		if ( nua.indexOf( moz_types[i]) !=-1 )		{			moz_brow = moz_types[i];			break;		}	}	if ( moz_brow )// if it was found in the array	{		str_pos=nua.indexOf(moz_brow);// extract string position		moz_brow_nu = nua.substr( (str_pos + moz_brow.length + 1 ) ,3);// slice out working number, 3 digit		// if you got it, use it, else use nu		moz_brow_nu = ( isNaN( moz_brow_nu ) ) ? moz_brow_nu = nu: moz_brow_nu;		moz_brow_nu_sub = nua.substr( (str_pos + moz_brow.length + 1 ), 8);		// this makes sure that it's only the id number		sub_nu_slice = ( moz_brow_nu_sub.search( pattern ) != -1 ) ? moz_brow_nu_sub.search( pattern ) : '';		//check to make sure there was a result, if not do  nothing		( sub_nu_slice ) ? moz_brow_nu_sub = moz_brow_nu_sub.substr( 0, sub_nu_slice ) : '';	}	if ( moz_brow == 'Netscape6' )	{		moz_brow = 'Netscape';	}	else if ( moz_brow == 'rv' || moz_brow == '' )// default value if no other gecko name fit	{		moz_brow = 'Mozilla';	} 	if ( !moz_brow_nu )// use rv number if nothing else is available	{		moz_brow_nu = nu;		moz_brow_nu_sub = nu;	}	if (n.productSub)	{		release_date = n.productSub;	}}else if (ie){	str_pos=nua.indexOf('MSIE');	nu=nua.substr((str_pos+5),3);	brow = 'Microsoft Internet Explorer';}// default to navigator app nameelse {	brow = nan;}op5=(op&&(nu.substring(0,1)==5));op6=(op&&(nu.substring(0,1)==6));op7=(op&&(nu.substring(0,1)==7));op8=(op&&(nu.substring(0,1)==8));op9=(op&&(nu.substring(0,1)==9));ie4=(ie&&!dom);ie5=(ie&&(nu.substring(0,1)==5));ie6=(ie&&(nu.substring(0,1)==6));ie7=(ie&&(nu.substring(0,1)==7));// default to get number from navigator app version.if(!nu) {	nu = nav.substring(0,1);}/*ie5x tests only for functionavlity. dom or ie5x would be default settings. Opera will register true in this test if set to identify as IE 5*/ie5x=(d.all&&dom);ie5mac=(mac&&ie5);ie5xwin=(win&&ie5x);// <script>// Copyright (C) 2005 Ilya S. Lyubinskiy. All rights reserved.// Technical support: http://www.php-development.ru///// YOU MAY NOT// (1) Remove or modify this copyright notice.// (2) Distribute this code, any part or any modified version of it.//     Instead, you can link to the homepage of this code://     http://www.php-development.ru/javascripts/smart-forms.php.//// YOU MAY// (1) Use this code on your website.// (2) Use this code as a part of another product provided that//     its main use is not creating javascript menus.//// NO WARRANTY// This code is provided "as is" without warranty of any kind, either// expressed or implied, including, but not limited to, the implied warranties// of merchantability and fitness for a particular purpose. You expressly// acknowledge and agree that use of this code is at your own risk.// If you find my script useful, you can support my site in the following ways:// 1. Vote for the script at HotScripts.com (you can do it on my site)// 2. Link to the homepage of this script or to the homepage of my site://    http://www.php-development.ru/javascripts/smart-forms.php//    http://www.php-development.ru///    You will get 50% commission on all orders made by your referrals.//    More information can be found here://    http://www.php-development.ru/affiliates.php// ----- Popup Control ---------------------------------------------------------function at_display(x){  win = window.open();  for (var i in x) win.document.write(i+' = '+x[i]+'<br>');}// ----- Show Aux -----/*function at_show_aux(parent, child){  var p = document.getElementById(parent);  var c = document.getElementById(child);  var top  = (c["at_position"] == "y") ? p.offsetHeight+2 : 0;  var left = (c["at_position"] == "x") ? p.offsetWidth +2 : 0;    for (; p; p = p.offsetParent)  {    top  += p.offsetTop;    left += p.offsetLeft;  }  c.style.position   = "absolute";  c.style.top        = top +'px';  c.style.left       = left+'px';  c.style.visibility = "visible";}*/// hack.function at_show_aux(parent, child){  var p = document.getElementById(parent);  var c = document.getElementById(child);  var top  = (c["at_position"] == "y") ? p.offsetHeight+2 : 0;  var left = (c["at_position"] == "x") ? p.offsetWidth +2 : 0;    for (; p; p = p.offsetParent)  {    top  += p.offsetTop;    left += p.offsetLeft;  }  c.style.position   = "absolute";  c.style.top        = top +'px';  c.style.left       = left+'px';  c.style.visibility = "visible";}// ----- Show -----function at_show(){  p = document.getElementById(this["at_parent"]);;  c = document.getElementById(this["at_child" ]);    // NEW CODE BLOCK        flipImageId = document.getElementById('flipImage');    mainFlashId = document.getElementById('mainFlash');        if(saf || op || op4 || op5 || op6 || op7) {    	if(flipImageId && mainFlashId) {	    	for (var lx = 0,ly = 0; mainFlashId != null; lx += mainFlashId.offsetLeft, ly += mainFlashId.offsetTop, mainFlashId = mainFlashId.offsetParent);    		    flipImageId.style.top = ly + "px";	    flipImageId.style.left = lx + "px";	    mainFlashId = document.getElementById('mainFlash');	    flipImageId.style.visibility = "visible";	    mainFlashId.style.visibility = "hidden";	    	}    }    // END CODE BLOCK    at_show_aux(p.id, c.id);    clearTimeout(c["at_timeout"]);        //if(saf || op || op4 || op5 || op6 || op7) {    	if(flipImage && mainFlash) {	    clearTimeout(mainFlash["at_timeout"]);	    clearTimeout(flipImage["at_timeout"]);	//	}    }}// ----- Hide -----function at_hide(){    c = document.getElementById(this["at_child"]);  flipImageId = document.getElementById('flipImage');  mainFlashId = document.getElementById('mainFlash');    if(saf || op || op4 || op5 || op6 || op7) {  	if(flipImageId && mainFlashId) {	  	  flipImageId["at_timeout"] = setTimeout("document.getElementById('flipImage').style.visibility = 'hidden'", 333);     	  mainFlashId["at_timeout"] = setTimeout("document.getElementById('mainFlash').style.visibility = 'visible'", 333);	}  }    c["at_timeout"] = setTimeout("document.getElementById('"+c.id+"').style.visibility = 'hidden'", 333);  //c["at_timeout"] = setTimeout("document.getElementById('mainFlash').style.visibility = 'visible'", 333);}// ----- Click -----function at_click(){  p = document.getElementById(this["at_parent"]);  c = document.getElementById(this["at_child" ]);  if (c.style.visibility != "visible") at_show_aux(p.id, c.id);  else c.style.visibility = "hidden";  return false;}// ----- Attach -----// PARAMETERS:// parent   - id of visible html element// child    - id of invisible html element that will be dropdowned// showtype - "click" = you should click the parent to show/hide the child//            "hover" = you should place the mouse over the parent to show//                      the child// position - "x" = the child is displayed to the right of the parent//            "y" = the child is displayed below the parent// cursor   - Omit to use default cursor or check any CSS manual for possible//            values of this fieldfunction at_attach(parent, child, showtype, position, cursor){  p = document.getElementById(parent);  c = document.getElementById(child);  p["at_parent"]     = p.id;  c["at_parent"]     = p.id;  p["at_child"]      = c.id;  c["at_child"]      = c.id;  p["at_position"]   = position;  c["at_position"]   = position;  c.style.position   = "absolute";  c.style.visibility = "hidden";  if (cursor != undefined) p.style.cursor = cursor;  switch (showtype)  {    case "click":      p.onclick     = at_click;      p.onmouseout  = at_hide;      c.onmouseover = at_show;      c.onmouseout  = at_hide;      break;    case "hover":      p.onmouseover = at_show;      p.onmouseout  = at_hide;      c.onmouseover = at_show;      c.onmouseout  = at_hide;      break;  }}