var lineColor;
var rest = false;
var hederSerch = 0;
var TextFild = 0
var CurentLine = -1;
var z = false;
var ddText;
var mark = false;

var closed_selects = new Array();

function getRadioButtonValue(form,radio){
	if(document.forms[form].elements[radio].length>0){
		for(var i=0;i<document.forms[form].elements[radio].length;i++)
			if(document.forms[form].elements[radio][i].checked){break}
	}
	else if(document.forms[form].elements[radio].checked)
		return document.forms[form].elements[radio].value;
	else return 0;
	return document.forms[form].elements[radio][i].value;
}

document.onclick = function(e) {window_close(e)}

function window_close(e) {

	if(rest && mark == true)
	hideDiv(rest);
	else mark = true;
}

function unHide(id){
	var divl = document.getElementById(id);
	if ( !divl ) return false;
	divl.style.display="table-row";
}


function Show_Hide(id){

	var divl = document.getElementById(id)
	if ( !divl ) return false;
	if (divl.style.display =="none") {
		divl.style.display="block"

	}
	else divl.style.display="none";
}

function setDiv(id, class_id, content) {
	var divl = document.getElementById(id);
	if ( !divl ) return false;
	if (class_id) divl.className=class_id;
	divl.innerHTML=content
}

function sv(id, value) {
	if (document.getElementById(id)){

		document.getElementById(id).value=value;
	}

}

function setclass(id, cls){
	if (document.getElementById(id)){
		document.getElementById(id).className=cls;
	}
}

function svf(formid, id, value) {
	var el = document.forms[formid].elements[id];
	if (el){
		el.value=value;
	}
}

function gv(id) {
	if (document.getElementById(id)){
		return document.getElementById(id).value;
	}
}

function gvradio(radioobj){
		for (var i = 0; i< radioobj.length; i++) {
    if (radioobj[i].checked) {
        return radioobj[i].value;
    }
  	}

}

// setting onclick action for any element dynamically
function svonclick(id, fnc){
	if (document.getElementById(id)){
		document.getElementById(id).onclick = function() {fnc}
	}
}

function test()
{
	document.getElementById('a_submit').onclick = function() {alert('ppp');}
	if (document.getElementById('a_submit')){
		alert(document.getElementById('a_submit').onclick);
	}
	alert('ok');
}
function SelectAllCheckbox(mark, name,elem) {

	for (i = 0; i < document.forms[name].elements.length; i++)
		{
		var item = document.forms[name].elements[i];
		if (item.name == elem)  {
		item.checked = mark;
		};
	}
}



function showDiv(divid) {
	var divl=document.getElementById(divid)
	if ( !divl ) return false;
	divl.style.display="block";
}

function hideDiv(divid) {

	var divl=document.getElementById(divid)
	if ( !divl ) return false;
	divl.style.display="none";
}

function hideDD(divid) {
	var divl=document.getElementById(divid)
	if (!divl) return false;
	if (rest != 0)
	divl.style.display="none";
}

function setfocus(id) {
	var divl=document.getElementById(id);
	if ( !divl ) return false;
	divl.focus();
}


function rollover(id, back) {
	var divid=document.getElementById(id)

	if (!back) {
		lineColor = divid.className;
		divid.className = "line_rollover";
	}
	else 	divid.className = lineColor;

}




//--------------------------------------------------
//SERACH  DROP-DOWN  functions
//--------------------------------------------------

function goo() {alert('go go')}

function show_ddlist(id, input_id, size){
	TextFild = input_id;

	if (document.getElementById(input_id).value.length >= size){
		showDiv(id);
		//alert(document.getElementById(id).innerHTML);
		q = 0;
	}
	else hideDiv(id);
}

function hideSelectBoxes(id, formname){
	elem = document.getElementById(id);
	if(!elem) return false;

	height = elem.offsetHeight;
	width = elem.offsetWidth;

	top_pos = elem.offsetTop;
	left_pos = elem.offsetLeft;

	form = document.getElementById(formname);
	if(!form) return false;

	selects = form.getElementsByTagName('select');
	if(selects.length>0){
		selects_new = new Array();
		for(i=0; i<selects.length; i++){
			selects_new.push(selects[i].parentElement);
			//alert(selects[i].parentElement.offsetLeft);
		}
		selects_old = selects;
		selects = selects_new;
		for(i = 0; i<selects.length; i++){
			//selects[i] = selects[i].parentElement;
			select_top = select_left = 0;
			parent_elem = selects[i].offsetParent;
			while(parent_elem){
				select_top += parent_elem.offsetTop;
				select_left += parent_elem.offsetLeft;
				parent_elem = parent_elem.offsetParent;
			}
			select_top += selects_old[i].offsetTop;
			select_left += selects_old[i].offsetLeft;
			//if(i==0){
				//alert('select_top: '+select_top+'; select_left: '+select_left+'\n elem_top: '+top_pos+'; elem_left: '+left_pos);
			//}
			sheight = (select_top>=top_pos && select_top<=(height+top_pos));
			swidth = (select_left>=left_pos && select_left<=(width+left_pos));

			//f(i==1){
				//alert(' select_left: '+select_left+'\n width: '+width);
			//}
			if(swidth && sheight){
				selects[i].style.display = 'none';
				closed_selects.push(selects_old[i].id);
			}
		}
	}
}

function showSelectBoxes(){
	//alert('call');
	if(!closed_selects.length) return false;

	for(i=0; i<closed_selects.length; i++){
		document.getElementById(closed_selects[i]).parentElement.style.display = 'block';
	}
	closed_selects = new Array();
}

function close_rest(id,par) {
	if (rest != id && rest != false){
		hideDiv(rest);
		//alert('ssdsd');
	}
	//alert('call');
	rest = id;
	mark = par;
}

function auto_complete(id,field_text) {
	divid = document.getElementById(id);
	divid.value = field_text;

}
//--------------------------------------------------------


function Hide_Massive(id,tag,num) {
	var divid = document.getElementById(id);
	var x = divid.getElementsByTagName(tag);

	for (var i = 0; i < x.length; i++){
		x[i].style.display = "none";
	}

	x[num].style.display = "block";
}










//-------------------------
//SuperDuper Scroll
//------------------------

function selecter(direction, id) {

	var divid = document.getElementById(rest);
	var txtF = document.getElementById(TextFild);
	var line = divid.getElementsByTagName('li');
	var hidden_field

	for (var i = 0; i < line.length; i++){
		line[i].style.background = '#f7fcf7';
	}

	if (direction == 'down') {
		CurentLine++;

		if (CurentLine >= line.length) CurentLine = 0;
			line[CurentLine].style.background = '#bde1bb';
			ddText = line[CurentLine].innerHTML;


			txtF.select();

	}

	if (direction == 'up') {
		if (CurentLine <= 0) {
			CurentLine = line.length;
		}

		CurentLine -= 1;

		if (CurentLine >= line.length) CurentLine = line.length;

		line[CurentLine].style.background = '#bde1bb';
		ddText = line[CurentLine].innerHTML;

		txtF.select();


	}

	if (direction == 'clear') {

		line[CurentLine].onclick();
		CurentLine = -1;

		txtF.value = ddText
		hideDiv(rest);
	}

	if (direction == 'over') {
		CurentLine = -1;
		id.style.background = '#bde1bb';
		ddText = id.innerHTML;

	}
	if (direction == 'out') {
		id.style.background = '#f7fcf7';
	}

}




document.onkeydown = function(e) {keysid(e)}


function keysid(e) {
	if (rest) {
		if (document.getElementById(rest).display != 'none' ){
					if(!e){
							//IE...
							e = window.event;
						}

						switch(e.keyCode){
							case 38:
								selecter('up');
								break;
							case 40:
								selecter('down');
								break;
							case 13:
								selecter('clear');
								return false;
								break;
						}
		}}
}

//-------------------------------------


function OpenCategoryList(mainDiv, id) {
	var divid = document.getElementById(id);
	var table = document.getElementById(mainDiv).getElementsByTagName('h4');

	if (table[0]) {
		for (i = 0;i < table.length; i++ )
			table[i].style.display = "none";

		divid.style.display = "block"
	}

}

function turnCheckBox(id){
  var item=document.getElementById(id)
  item.checked=true;
}

 // a global month names array
var gsMonthNames = new Array(
'January',
'February',
'March',
'April',
'May',
'June',
'July',
'August',
'September',
'October',
'November',
'December'
);

// a global day names array
var gsDayNames = new Array(
'Sunday',
'Monday',
'Tuesday',
'Wednesday',
'Thursday',
'Friday',
'Saturday'
);

String.prototype.string = function(l) { var s = '', i = 0; while (i++ < l) { s += this; } return s; }
String.prototype.zf = function(l) { return '0'.string(l - this.length) + this; }
Number.prototype.zf = function(l) { return this.toString().zf(l); }


// the date format prototype
Date.prototype.format = function(f)
{
    if (!this.valueOf())
        return '&nbsp;';

    var d = this;

    return f.replace(/(Y|y|F|M|m|l|D|d|h|i|s|a|A)/gi,
    function($1)
    {
        switch ($1)
        {
            case 'Y':    return d.getFullYear();
            case 'y':    return d.getFullYear().toString().substr(2, 4);
            case 'F': 	 return gsMonthNames[d.getMonth()];
            case 'M':  	 return gsMonthNames[d.getMonth()].substr(0, 3);
            case 'm':    return (d.getMonth() + 1).zf(2);
            case 'l':    return gsDayNames[d.getDay()];
            case 'D':    return gsDayNames[d.getDay()].substr(0, 3);
            case 'd':    return d.getDate().zf(2);
            case 'h':    return ((h = d.getHours() % 12) ? h : 12).zf(2);
            case 'i':    return d.getMinutes().zf(2);
            case 's':    return d.getSeconds().zf(2);
            case 'a':    return d.getHours() < 12 ? 'aam' : 'pm';
            case 'A':    return d.getHours() < 12 ? 'AM'  : 'PM';

            }
        }
    );
}

function flyUP(URL, w, h, left, top) {
  day = new Date();
  id = day.getTime();
  eval("page" + id + " = window.open(URL, '" + id + "', 'toolbar=0,scrollbars=1,location=0,statusbar=0,menubar=1,resizable=1,width='+w+',height='+h+',left = '+left+',top = '+top);");
}


   var letters='ABC�DEFGHIJKLMN�OPQRSTUVWXYZabc�defghijklmn�opqrstuvwxyz������������������������';
   var numbers='1234567890';
   var decimals='.';
   var datechars='/-';
   var signs=',.:;@-\'';
   var mathsigns='+-=()*/';
   var custom='<>#$%&?�';
   var lastcharpressed='';
   var lastascpressed=0;

////// these are keypress handlers that trap every key pressed and store it in the lastcharpressed variable

   function trapKeyDownEvents () {
      // sets a handler to trap every keydown
      if (document.layers) { // NETSCAPE NAVIGATOR 4
         document.captureEvents(Event.KEYDOWN);
         document.onkeydown=keyDownHandler;
      } else if (document.all) { // INTERNET EXPLORER 4+
         document.onkeydown=keyDownHandler;
      } else if (document.getElementById) { // Netscape 6/Gecko
         var targetObject=document;
         targetObject.addEventListener("keydown",keyDownHandler,false);
      }
   }
   function keyDownHandler (e) {
      // fires on every KeyDown event, captures event,  and stores the result in the global lastcharpressed
      eventObj=(document.all)?event:e;
      if (document.layers) { // NETSCAPE NAVIGATOR 4
         lastascpressed=eventObj.which;
      } else if (document.all) { // INTERNET EXPLORER 4+
         lastascpressed=eventObj.keyCode;
      } else if (document.getElementById) { // Netscape 6/Gecko
         lastascpressed=eventObj.which;
      }
      if (lastascpressed>47) lastcharpressed=String.fromCharCode(lastascpressed);
      return (true);
   }

   function keypressinit() {
      // initializes the KeyPress event handler when the page loads.
      trapKeyDownEvents();
      self.focus;
   }

   function keyin(validcharacters,e) { // returns true if the last character struck is in the validcharacters or indeterminate or control
      eventObj=(document.all)?event:e;
      if (document.layers) { // NETSCAPE NAVIGATOR 4
         lastascpressed=eventObj.which;
      } else if (document.all) { // INTERNET EXPLORER 4+
         lastascpressed=eventObj.keyCode;
      } else if (document.getElementById) { // Netscape 6/Gecko
         lastascpressed=eventObj.which;
      }
      lastcharpressed=String.fromCharCode(lastascpressed);

      // denying $ sign to be pressed in number fields
      if (lastascpressed==36) return false;
      if (lastascpressed<48) return (true);
      if (lastascpressed>122) return (true);
      // alert(lastcharpressed+" in "+validcharacters+" at "+(validcharacters).indexOf(lastcharpressed));
      if ((validcharacters).indexOf(lastcharpressed)<0) return (false);
      else return (true);
   }


/////////// these use the keyhandlers

   function isnumbercharacter(e) { // returns true if the character is a number 0-9
      return keyin(numbers,e);
   }
   function isfloatcharacter(e) { // returns true if the character is a number 0-9 or a decimal
      return keyin(numbers+decimals,e);
   }
   function isdatecharacter(e) { // returns true if the character is a date character 0-9 -
      return keyin(numbers+datechars,e);
   }
   function isphonecharacter(e) { // returns true if the character is a phone character )(- x
      return keyin(numbers+"ext )(.-",e);
   }
   function isemailcharacter(e) { // returns true if the character is an acceptable email character a-zA-Z0-9@._-
      return keyin(numbers+letters+"@_.-",e);
   }
   
   
