var aePHP="ajax_events.php";
var prdPHP="Products.php";
var cart_open="פתח עגלה";
var cart_close="מזער עגלה";
var build_open="פתח";
var build_close="מזער";

function dumpProps(obj, parent) {
   // Go through all the properties of the passed-in object 
   for (var i in obj) {
      // if a parent (2nd parameter) was passed in, then use that to 
      // build the message. Message includes i (the object's property name) 
      // then the object's property value on a new line 
      if (parent) { var msg = parent + "." + i + "\n" + obj[i]; } else { var msg = i + "\n" + obj[i]; }
      // Display the message. If the user clicks "OK", then continue. If they 
      // click "CANCEL" then quit this level of recursion 
      if (!confirm(msg)) { return; }
      // If this property (i) is an object, then recursively process the object 
      if (typeof obj[i] == "object") { 
         if (parent) { dumpProps(obj[i], parent + "." + i); } else { dumpProps(obj[i], i); }
      }
   }
}

function isNode(o){ 
  return ( 
    typeof Node === "object" ? o instanceof Node :  
    typeof o === "object" && typeof o.nodeType === "number" && typeof o.nodeName==="string" 
  ); 
} 
 
//Returns true if it is a DOM element     
function isElement(o){ 
  return ( 
    typeof HTMLElement === "object" ? o instanceof HTMLElement : //DOM2 
    typeof o === "object" && o.nodeType === 1 && typeof o.nodeName==="string" 
  ); 
}

function runAjaxAction(action, params, showPreload, updateElement)
{
	if (params != "") { params="&"+params; }
	url = aePHP+"?action="+action+params;
	var htmlResponse = LoadHTML(url,showPreload,updateElement);
	return htmlResponse;
}

function runAjaxActionById(action, params,showPreload,updateId)
{
	element = document.getElementById (updateId);
	return runAjaxAction (action,params,showPreload,element);
}

function runJqueryAjax(url,params,showPreload,updateElement)
{
	if (showPreload == true) {
		showJquery_preload();
	}

	var j_ajax = $.ajax({
		type: "POST",
		async: false,
		url: url,
		dataType: "text",
		data: params,
		success: function(htmlResponse){
			
				if( updateElement!= null)
//				&& $(updateElement).length )
				{
//					if (typeof(updateElement) == 'object')
//						$(updateElement).html(htmlResponse); //updateElement.innerHTML (htmlResponse);
//					else if ($(updateElement).length) 
						$(updateElement).html(htmlResponse);
				}
				else
				{
					return htmlResponse;
				}	
			}
		});

	if (showPreload == true) {
		var t = setTimeout('hideJquery_preload();',500);
	}
	
	if( updateElement == null || $(updateElement).length == 0) {
		//return eval(j_ajax);
	}
}

function submit_joinML(email_field)
{
	if (email_field.value=="")
	{
	 	alert(_joinML_empty);
	 	email_field.focus();
	}
	else if( !checkEmail(email_field.value) )
	{
	 	alert(_joinML_invalid);
	 	email_field.focus();
	}
	else 
	{
		url = aePHP+"?action=submit_joinML&joinML_email="+email_field.value;
		params = "&joinML_email="+email_field.value;
		var response = runJqueryAjax(url,params,false);
		if( response == "ok" )
		{
			email_field.value = "";
			alert(_joinML_confirm);
		}
	}
	return false;
}

function showJquery_preload() {
	$("#preloader,#pageOverlay").show();
}

function hideJquery_preload() {
	$("#preloader,#pageOverlay").hide("slow");
}

function change_display_branch(disp,showPreload)
{
	url = aePHP+"?action=showHotBranches&disType="+disp;
	updateElement = ".branch_wrapper";
	params = "";
	runJqueryAjax(url,params,showPreload,updateElement);
	
	return false;
}

function change_display_category(disp,showPreload)
{
	var path = $("input[name=path]").val();
	var category = $("input[name=category]").val();
	var page_num = $("select[name=pageNum]").val();
	url = aePHP+"?action=showProducts&disType="+disp;
	updateElement = "#showCategoryProducts";
	params = "&path="+path+"&category="+category+"&pageNum="+page_num;
	runJqueryAjax(url,params,showPreload,updateElement);
	
	return false;
}

function updPrd(curForm,rep,showPreload)
{
	var moveTo = "#customTree";
	if( $(moveTo).length > 0 ) {
		$(moveTo + " *").attr({"selected":"selected"});
		$(moveTo + " option").each(function(t,sel){
			$(sel).attr({"selected":"selected"});
        });
	}

	var updateElement = $(curForm).parents("#editprd_wrapper").get(0);

	if ( $(curForm).attr('id') == "obj_id" ) { // for onBlur main obj_id input
		var obj_id = $(curForm).val();
		var classType = $(updateElement).find("input[name=classType]").val();
	}
	else if ( $(curForm).attr('name') == "class" ) { // for new items select type
		var obj_id = $(updateElement).find("input[name=obj_id]").val();
		var classType = $(updateElement).find("input[name=classType]").val();
	}
	else { // for current form submit
		var obj_id = $(curForm).find("input[name=obj_id]").val();
		var classType = $(curForm).find("input[name=classType]").val();
	}
	var params = $(curForm).serialize();

	var url = aePHP+"?action=editPrd&obj_id="+obj_id+"&rep="+rep+"&classType="+classType;
//	updateElement = "#editprd_wrapper";

	runJqueryAjax(url,params,true,updateElement);

	return false;
}

function slide_elm(elemID,imgID){
	var curDisplay = $(elemID).css('display');
	if(imgID != null && $(imgID).length )
	{
		if(curDisplay == "none")
			$(imgID).attr({'src':minus_pic});
		else
			$(imgID).attr({'src':plus_pic});
	}
	$(elemID).slideToggle("fast",function(){
		//console.log($(elemID).css('display'));
	});
}

function remove_elm(elm) {
	$(elm).remove();
}

function slide_shopcart(){
	$("#sCart_data").slideToggle("fast");
	var currText = $("#oc_cart").text();

	if( currText == cart_close)
		$("#oc_cart").html(cart_open);
	else
		$("#oc_cart").html(cart_close);
}

function slide_buld_cart(){
	$("#sCart_data_build").slideToggle("fast");
	var currText = $("#oc_cart_build").text();

	if( currText == build_close)
		$("#oc_cart_build").html(build_open);
	else
		$("#oc_cart_build").html(build_close);
}

function update_template(template)
{
	url = aePHP+"?action=update_template&site_template="+template;
	params = "template="+template;
	var msg = runJqueryAjax(url,params,true);
	var t = setTimeout('win_reload();',1000);
	
	return false;
}

function win_reload() {
	window.location.reload();
}

function Set_Cookie( name, value, expires, path, domain, secure )
{
	// set time, it's in milliseconds
	var today = new Date();
	today.setTime( today.getTime() );

	/*
	if the expires variable is set, make the correct
	expires time, the current script below will set
	it for x number of days, to make it for hours,
	delete * 24, for minutes, delete * 60 * 24
	*/
	if ( expires )
	{
		expires = expires * 1000 * 60 * 60 * 24;
	}
	var expires_date = new Date( today.getTime() + (expires) );

	document.cookie = name + "=" +escape( value ) +
	( ( expires ) ? ";expires=" + expires_date.toGMTString() : "" ) +
	( ( path ) ? ";path=" + path : "" ) +
	( ( domain ) ? ";domain=" + domain : "" ) +
	( ( secure ) ? ";secure" : "" );
}

// this deletes the cookie when called
function Delete_Cookie( name, path, domain )
{
	if ( Get_Cookie( name ) ) document.cookie = name + "=" +
	( ( path ) ? ";path=" + path : "") +
	( ( domain ) ? ";domain=" + domain : "" ) +
	";expires=Thu, 01-Jan-1970 00:00:01 GMT";
}

// this function gets the cookie, if it exists
function Get_Cookie( name )
{
	var start = document.cookie.indexOf( name + "=" );
	var len = start + name.length + 1;
	if ( ( !start ) &&
	( name != document.cookie.substring( 0, name.length ) ) )
	{
		return null;
	}
	if ( start == -1 ) return null;
	var end = document.cookie.indexOf( ";", len );
	if ( end == -1 ) end = document.cookie.length;
	return unescape( document.cookie.substring( len, end ) );
}

function checkPhone(str)
{
	rePhoneNumber = new RegExp(/^[0-9]{0,3}\s?\-?\s?[0-9]{7,10}$/);
	if (!rePhoneNumber.test(str)) return false;

	return true;
}

function checkEmail(str) {
	///// function for validating email address
	var at="@";
	var dot=".";
	var lat=str.indexOf(at);
	var lstr=str.length;
	var ldot=str.indexOf(dot);

	if (str.indexOf(at)==-1){
		return false;
	} else if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
		return false;
	} else 	if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
		return false;
	} else  if (str.indexOf(at,(lat+1))!=-1){
		return false;
	} else 	 if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
		return false;
	} else  if (str.indexOf(dot,(lat+2))==-1){
		return false;
	} else if (str.indexOf(" ")!=-1){
		return false;
	} else {
		return true;
	}
}

function checkMultipleEmail(emails, split_char)
{
	emails_array = emails.split(split_char);
	checkStatus = true;
	for (e in emails_array)
	{
		if (trim(emails_array[e]) != "" && !checkEmail(trim(emails_array[e])))
		checkStatus =false;
	}
	return checkStatus;
}

function checkML(emailValue)
{
	if(!checkEmail(emailValue))
	{
		alert (_tpl_emailNotValid);
		document.joinML.focus();
		return false;
	} else {
		var url = "xmlJoinML.php?joinML_email="+emailValue+"&siteLang="+siteLang;
		var xml = LoadXML(url);
		if(xml != null)
		{
			var message = xml.getElementsByTagName('rsp')[0].firstChild.data;
			alert(message);
			var response = xml.getElementsByTagName('rsp_stat')[0].firstChild.data;
			if (response)
			document.joinML.reset();
			else
			document.joinML.focus();
		}
		return false;
	}
}

function getHTTPObject()
{
	try { return new XMLHttpRequest(); } catch(e) {}
	try { return new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) {}
	try { return new ActiveXObject("Microsoft.XMLHTTP"); } catch (e) {}
	alert("XMLHttpRequest not supported");
	return null;
}

var donepage = 0;
var LoadHTMLLayer = 0;
function LoadHTML(url,showPreload,updateElement)
{
	if (updateElement!=null && isElement(updateElement)==false) {
	 var updateElement=document.getElementById(updateElement);
	}
	var xmlHttp = getHTTPObject();
	if (showPreload == true) 
	{
		show_preload();
		LoadHTMLLayer+=1;
	}
	if (updateElement == null) 
		xmlHttp.open("GET",url, false);
	else 
	{
		xmlHttp.open("GET",url, true);
	}
		
	xmlHttp.onreadystatechange = function()
	{
		if (xmlHttp.readyState != 4)  { return; }
		
		if (showPreload == true) {
			LoadHTMLLayer-=1;
			if (LoadHTMLLayer==0)
			var t = setTimeout('hide_preload();',500); 
		}
		var serverResponse = xmlHttp.responseText;
		if (updateElement != null) 
		{
			updateElement.innerHTML = serverResponse;
		}
	};
	xmlHttp.send(null);
	if (updateElement == null) return xmlHttp.responseText;
}

function LoadXML(url)
{
	var xmlHttp = getHTTPObject();
	xmlHttp.open("GET",url, false);
	xmlHttp.onreadystatechange = function()
	{
		if (xmlHttp.readyState != 4)  { return; }
		var serverResponse = xmlHttp.responseText;
	};
	xmlHttp.send(null);
	if (xmlHttp.responseXML!=null)
		return xmlHttp.responseXML.documentElement;
}

// bulid string with the form values, fobj the form object, valFunc is validate function
function getFormValues(fobj)
{
	var str = "";
	var valueArr = null;
	var val = "";
	var cmd = "";

	for(var i = 0;i < fobj.elements.length;i++)
	{
		switch(fobj.elements[i].type)
		{
			case "text":
			case "hidden":
			case "textarea":
			str += fobj.elements[i].name + "=" + escape(fobj.elements[i].value) + "&";
			break;

			case "radio":
			case "checkbox":
			if(fobj.elements[i].checked)
			str += fobj.elements[i].name + "=" + escape(fobj.elements[i].value) + "&";
			break;

			case "select-one":
			str += fobj.elements[i].name + "=" + fobj.elements[i].options[fobj.elements[i].selectedIndex].value + "&";
			break;
		}
	}

	str = str.substr(0,(str.length - 1));
	return str;
}

// validate is got the validate function, if false then skip the validation
function submitAjaxForm(f,url)
{
	var str = getFormValues(f);
	xmlReq = postAjaxForm(url ,str);

}

function postAjaxForm(url,str)
{
	var doc = null;
	if (typeof window.ActiveXObject != 'undefined' )
	{
		doc = new ActiveXObject("Microsoft.XMLHTTP");
	}
	else
	{
		doc = new XMLHttpRequest();
		doc.onload = displayState;
	}

	doc.open( "POST", url, true );
	doc.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
	doc.send(str);
	return doc.responseXML.documentElement;
}

function showMessage(message, elementID)
{
	document.getElementById(elementID).innerText=message;
}

function clearMessage(elementID)
{
	document.getElementById(elementID).innerText="";
}

function IsNumeric(sText)
{
	var ValidChars = "0123456789.";
	var IsNumber=true;
	var Char;


	for (i = 0; i < sText.length && IsNumber == true; i++)
	{
		Char = sText.charAt(i);
		if (ValidChars.indexOf(Char) == -1)
		{
			IsNumber = false;
		}
	}
	return IsNumber;
}

function trim(strText) 
{
	/// TRIM STRING FUNCTION
	// this will get rid of leading spaces
	while (strText.substring(0,1) == ' ')
	strText = strText.substring(1, strText.length);
	// this will get rid of trailing spaces
	while (strText.substring(strText.length-1,strText.length) == ' ')
	strText = strText.substring(0, strText.length-1);
	return strText;
}

function escapeString(sString)
{
	// DETECT WHAT TO PUT STRING IN FOR HTML FORM ( ' OR " ) DEPANDING ON STRING CONTENTS
	if (sString.indexOf("'") == -1)
	valSep = "'";
	else
	valSep = '"';
	return valSep+sString+valSep;
}

function replaceSubstring(inputString, fromString, toString) {
	// GOES THROUGH THE INPUTSTRING AND REPLACES EVERY OCCURRENCE OF FROMSTRING WITH TOSTRING
	var temp = inputString;
	if (fromString == "") {
		return inputString;
	}
	if (toString.indexOf(fromString) == -1) { // If the string being replaced is not a part of the replacement string (normal situation)
		while (temp.indexOf(fromString) != -1) {
			var toTheLeft = temp.substring(0, temp.indexOf(fromString));
			var toTheRight = temp.substring(temp.indexOf(fromString)+fromString.length, temp.length);
			temp = toTheLeft + toString + toTheRight;
		}
	} else { // String being replaced is part of replacement string (like "+" being replaced with "++") - prevent an infinite loop
		var midStrings = new Array("~", "`", "_", "^", "#");
		var midStringLen = 1;
		var midString = "";
		// Find a string that doesn't exist in the inputString to be used
		// as an "inbetween" string
		while (midString == "") {
			for (var i=0; i < midStrings.length; i++) {
				var tempMidString = "";
				for (var j=0; j < midStringLen; j++) { tempMidString += midStrings[i]; }
				if (fromString.indexOf(tempMidString) == -1) {
					midString = tempMidString;
					i = midStrings.length + 1;
				}
			}
		} // Keep on going until we build an "inbetween" string that doesn't exist
		// Now go through and do two replaces - first, replace the "fromString" with the "inbetween" string
		while (temp.indexOf(fromString) != -1) {
			var toTheLeft = temp.substring(0, temp.indexOf(fromString));
			var toTheRight = temp.substring(temp.indexOf(fromString)+fromString.length, temp.length);
			temp = toTheLeft + midString + toTheRight;
		}
		// Next, replace the "inbetween" string with the "toString"
		while (temp.indexOf(midString) != -1) {
			var toTheLeft = temp.substring(0, temp.indexOf(midString));
			var toTheRight = temp.substring(temp.indexOf(midString)+midString.length, temp.length);
			temp = toTheLeft + toString + toTheRight;
		}
	} // Ends the check to see if the string being replaced is part of the replacement string or not
	return temp; // Send the updated string back to the user
}

function popupWin(popUrl, width, height)
{
	if (!navigator.appName.indexOf("Microsoft")) width+=20;
	height+=5;
	topVar=((screen.height / 2)-(height/2));
	leftVar=((screen.width / 2)-(width/2));
	window.open(popUrl, "PopUp", "height="+height+", width="+width+", top="+topVar+", left="+leftVar+", scrollbars=yes, status=no, location=no, resize=yes, menubar=no, titlebar=no, toolbar=no");
}

function findPos(obj)
{
    var curleft = curtop = 0;

    if (obj.offsetParent) {
        do {
            curleft += obj.offsetLeft;
            curtop += obj.offsetTop;
        } while (obj = obj.offsetParent);

        return [curleft,curtop];
    }
}

function switchDisplayByID(elemID,display_type){
	var elm = document.getElementById(elemID);
	switchElementVisibility (elm,display_type);
}
function switchElementVisibility (obj,display_type){
//	if (!display_type) var display_type="";
	if (obj) {
		if (display_type=="inline" || display_type=="none") obj.style.display=display_type; else
		if (obj.style.display=="none" || obj.style.display=="") obj.style.display="inline"; else
		if (obj.style.display=="inline") obj.style.display="none";
	}
}
function hideDisplayByID(elemID){
	setTimeout("switchDisplayByID('"+elemID+"','none')",'300');
}
function showDisplayByID(elemID){
	switchDisplayByID(elemID,'inline');
}

function switchElementDisplay(elementID, display_type, callObj){
	// SWITCH SELECTED ELEMENT DISPLAY: NONE/INLINE
	var elm = document.getElementById(elementID);
	var leftOffset = 260;
	var topOffset = -75;
	if ((callObj && elm.style.top == '' && elm.style.display != 'none')	|| (!callObj && elm.style.top != ''))	//it is open from cart
		elm.style.display = "none";

	if (elm.style.display=="none") {
		if (callObj) {
			var curPos = findPos(callObj);
			elm.style.top = (curPos[1] + topOffset) + 'px';
			elm.style.left = (curPos[0] + leftOffset) + 'px';
		}
		else {
			elm.style.top = '';
			elm.style.left = '';
		}
		elm.style.display=display_type;
	}
	else
		elm.style.display="none";
}

function expand_menu(table_id, menu_path, this_div)
{
	// FUNCTION FOR EXPANDING MENU BRANCHES
	curTable = document.getElementById(table_id);
	tableRows = curTable.rows.length;
	display_show = (navigator.appName == "Microsoft Internet Explorer") ? "inline" : "table-row";
	div_cClass = this_div.className;
	time_int = 0;
	if (div_cClass == "sMenu_closed")
	{
		for (i=1; i<tableRows; i++)
		{
			curRow = curTable.rows[i];
			if (curRow.id.indexOf(menu_path+"_") > -1)
			{
				setTimeout("switchElementDisplay('"+curRow.id+"', '"+display_show+"')", time_int);
				time_int+=10;
			}
		}
		this_div.className = "sMenu_open";
	}
	else if (div_cClass == "sMenu_open")
	{
		for (i=1; i<tableRows; i++)
		{
			curRow = curTable.rows[i];
			if (curRow.id.indexOf(menu_path) > -1)
			{
				setTimeout("switchElementDisplay('"+curRow.id+"', 'none')", time_int);
				row_arrow = curRow.firstChild.firstChild;
				if (row_arrow.className == "sMenu_open")
				row_arrow.className = "sMenu_closed";
				time_int+=10;
			}
			this_div.className = "sMenu_closed";
		}
	}
}

function beginDrag(elementToDrag, event){
	var deltaX = event.clientX - parseInt(elementToDrag.style.left);
	var deltaY = event.clientY - parseInt(elementToDrag.style.top);
	if (document.addEventListener){
		document.addEventListener("mousemove", moveHandler, true);
		document.addEventListener("mouseup", upHandler, true);
	}
	else if (document.attachEvent){
		document.attachEvent("onmousemove", moveHandler);
		document.attachEvent("onmouseup", upHandler);
	}
	else {
		var oldmovehandler = document.onmousemove;
		var olduphandler = document.onmouseup;
		document.onmousemove = moveHandler;
		document.onmouseup = upHandler;
	}
	if (event.stopPropagation) event.stopPropagation();
	else event.cancelBubble = true;
	if (event.preventDefault) event.preventDefault();
	else event.returnValue = false;
	function moveHandler(e){
		if (!e) e = window.event;
		elementToDrag.style.left = (e.clientX - deltaX) + "px";
		elementToDrag.style.top = (e.clientY - deltaY) + "px";
		if (e.stopPropagation) e.stopPropagation();
		else e.cancelBubble = true;
	}
	function upHandler(e){
		if (!e) e = window.event;
		if (document.removeEventListener){
			document.removeEventListener("mouseup", upHandler, true);
			document.removeEventListener("mousemove", moveHandler, true);
		}
		else if (document.detachEvent){
			document.detachEvent("onmouseup", upHandler);
			document.detachEvent("onmousemove", moveHandler);
		}
		else {
			document.onmouseup = olduphandler;
			document.onmousemove = oldmovehandler;
		}
		if (e.stopPropagation) e.stopPropagation();
		else e.cancelBubble = true;
	}
}

function getSelected(obj)
{
	selected = new Array();
  	for (var i = 0; i < obj.options.length; i++)
    	if (obj.options[i].selected)
      		selected.push(obj.options[i].value);
    return selected;
}

// AJAX for login form (replay_header.php)
function checkLogin(cForm)
{
	if (cForm.userName.value == "" || cForm.password.value == "")
	{
		alert(_empLogin);
		if(cForm.userName.value == "")
			cForm.userName.focus();
		else if(cForm.password.value == "")
			cForm.password.focus();
	}
	else
	{
		// ajax check login
		var url = aePHP+"?action=login&logMember=true&userName="+cForm.userName.value+"&password="+cForm.password.value;
		var xml = LoadXML(url);

		if(xml != null)
		{
			if(xml.getElementsByTagName('login')[0].firstChild.data == "logged")
			{
				location.reload();
			}
			else
			{
				var message = xml.getElementsByTagName('rsp')[0].firstChild.data;
				alert (message);
				cForm.userName.focus();
			}
		}
	}
	return false;
}
// epp propname,select - edit all selected property values from all id, to prop.propname value
function epp(propName,select,updateElement){
 	var propObj=document.getElementById("prop."+propName);
 	if (propObj) var propData=propObj.value;
	var selectObj=document.getElementById(select);
 	if (propData && propData!="" && selectObj!=null)
 	{
		if(confirm(_removeprd)){
			
	 		selectArray=getSelected(selectObj);
	 		var url = aePHP+"?action=mPrdProp&name="+propName+"&data="+encodeURIComponent(propData)+"&select="+encodeURIComponent(selectArray.toString());
//	 		alert (url);
	 		var htmlResponse=LoadHTML(url,false,updateElement);
 		}
 	}
}

// upp id,propname - update prop value of id, using value inside element "prop.id.propname"
function upp(id,propname)
{
	if(confirm(_removeprd))
	{
		propiddata=document.getElementById("prop."+id+"."+propname);
		propdata=propiddata.value;
		if(propdata!="")
		{
			url = aePHP+"?action=uPrdProp"+"&id="+encodeURIComponent(id)+"&name="+propname+"&data="+encodeURIComponent(propdata);
			var htmlResponse = LoadHTML(url);
			if(htmlResponse)
			{
				var obj=document.getElementById("propTR."+id+"."+propname);
				obj.style.display='none';
				return false;
			}
		}
		else
		{
			alert(_emptyinputerr);
			propiddata.focus();
		}
	}
	return false;
}

// hpp id,propname - set property value '<!hidden>' to propname of prdid, and hide the line propTR
function hpp(id,propname)
{
	if(confirm(_hideprd))
	{
		var propdata="<!hidden>";
		url = aePHP+"?action=hPrdProp"+"&id="+encodeURIComponent(id)+"&name="+propname+"&data="+encodeURIComponent(propdata);
		var htmlResponse = LoadHTML(url);
		if(htmlResponse)
		{
			var selectedtr=document.getElementById("propTR."+id+"."+propname);
			selectedtr.style.display='none';
			return false;
		}
	}
	return false;
}

function getHTTPObject()
{
	try { return new XMLHttpRequest(); } catch(e) {}
	try { return new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) {}
	try { return new ActiveXObject("Microsoft.XMLHTTP"); } catch (e) {}
	alert("XMLHttpRequest not supported");
	return null;
}

function LoadXMLObject(url)
{

	var xmlHttp = getHTTPObject();
	xmlHttp.open("GET",url, false);
	xmlHttp.onreadystatechange = function()
	{
		if (xmlHttp.readyState != 4) { return; }
		var serverResponse = xmlHttp.responseText;
	};
	xmlHttp.send(null);

	return xmlHttp.responseText;
}

var last_open = null;

function expandMenu(elm)
{
	var parent = elm.parentNode;
	//look for a UL in tag name

	for (var i=0; i<parent.childNodes.length; i++) {
		if (parent.childNodes[i].tagName == "UL") {
			break;
		}
	}
	if (i == parent.childNodes.length) {	//not found
		return;
	}
	parent.childNodes[i].style.display = (parent.childNodes[i].style.display == "none") ? "block" : "none";
	last_open = parent.childNodes[i];


	elm.className=(elm.className == "expand_button") ? "minusbutton" : "expand_button";

	return;
}

function expandparent(curelm)
{

	var parent = curelm.parentNode;
	expandMenu(parent.childNodes[0]);
}

var curinterval=0;
function autoexpand(pelm)
{
	var parent=pelm.parentNode;
	curinterval=setInterval(expandMenu,1000,parent);

}

function switchTRDisplayRange (fromId,toId,flags) {
	obj=document.getElementById (fromId);
	toObj=document.getElementById (toId);
	disp=""; flags=1;
    if (obj) {
    	imgObj = null;
    	if (flags==1) {
    		imgObjs=obj.getElementsByTagName("img");
    		if (imgObjs.length>0) imgObj=imgObjs[0];
//    		if (imgObj!=null)
//    		alert (imgObj.src);
    	}
    	while (obj.nextSibling!=toObj && obj!=null){
    		obj=obj.nextSibling;
    		if (obj.nodeType!=1) continue; 
    		if (disp=="" && obj!=null) {
    			if (obj.style.display=="none") disp="table-row";
    			else disp="none";
    		}
    		obj.style.display=disp;
    	}
    	if (disp!="" && imgObj!=null) {
    		if (disp=="none") imgObj.src=templateUrl+"images/plusButton.gif";
    		else imgObj.src=templateUrl+"images/minusButton.gif";
    	}
    }
}

function disableinterval()
{
	curinterval=window.clearInterval(curinterval);
}

/***************************************
SMALL CART FUNCTION
Author: Eytan Chen, Feb 2008
***************************************/
// FUNCTION FOR REMOVING ITEM FROM SHOPCART
function ShopCart_DeliveryType(obj)
{
	if (!obj)
		return;

	var actionStr = 'setDeliveryType&type=' + obj.selectedIndex;
	ShopCart_Action(actionStr, null);
}

function ShopCart_Action(action, prdID)
{
	
//	url = aePHP+"?action="+action+"&prdID="+prdID;
//	var htmlResponse = LoadHTML(url);
	/*
	var htmlResponse = runAjaxAction(action,"prdID="+prdID);
	if(htmlResponse != null)
	{
		sCart = document.getElementById("sCart_data");
		sCart.innerHTML = htmlResponse;
	}
	*/
	url = aePHP+"?action="+action;
	updateElement = "#sCart_data";
	params = "prdID="+prdID;
	runJqueryAjax(url,params,false,updateElement);
	
}

function frameShopCart_Action(action, prdID)
{
//	url = aePHP+"?action="+action+"&prdID="+prdID;
//	var htmlResponse = LoadHTML(url);
	var htmlResponse = runAjaxAction(action,"prdID="+prdID);
	if(htmlResponse != null)
	{
		sCart = parent.document.getElementById("sCart_data");
		sCart.innerHTML = htmlResponse;
	}
}

function sendUserOrder()
{
	var obj = document.getElementById('phoneOrderNum');
	if (!obj) return false;
//	alert (obj.value.match(/[^0-9\-]/)));
	if (obj.value.match(/[^0-9\-]/)) {
		alert(_numbersOnly);
		return false;
	}

//	url = aePHP+"?action=phoneOrder&number="+obj.value;
//	var htmlResponse = LoadHTML(url);
	runAjaxAction ("phoneOrder","number="+obj.value);
	obj.value = _orderSend;
	return true;
}

function ShowHelpFlash(flashFile)
{
	var obj = document.getElementById('HelpWindow');
	if (obj) {
		var par = obj.parentNode;
		par.removeChild(obj);
	}
	obj = document.getElementById('FlashHelpCnt');
	obj.innerHTML = null;		//will clear if flash is playing already
	var fo = new FlashObject(flashFile, "f_helpFlash", "200", "300", "6", "#FFFFFF");
	fo.addParam("quality", "high");
	fo.addParam("wmode", "transparent");
	fo.write("FlashHelpCnt");
	obj.style.display = "block";
}

function switchSelection(id)
{
	var obj = document.getElementById(id);
	if (!obj)
		return;
	if (obj.checked)
		obj.checked = false;
	else
		obj.checked = true;
	 updateMnfFilter();
}

/***********************************************
* DHTML Billboard script- © Dynamic Drive (www.dynamicdrive.com)
* This notice must stay intact for use
* Visit http://www.dynamicdrive.com/ for full source code
***********************************************/
var selectedDiv=0;
var totalDivs=0;
var isBillboardScrollerInit=0;

function initBillboardScroller() {
	if (isBillboardScrollerInit>0) return;
	isBillboardScrollerInit=1;
	if (window.addEventListener) window.addEventListener("load", startbill, false);
	else if (window.attachEvent) window.attachEvent("onload", startbill);
	else if (document.getElementById) window.onload=startbill; else isBillboardScrollerInit=0;
}

function contractboard(){
	var inc=0;
	while (document.getElementById("billboard"+inc)){
		document.getElementById("billboard"+inc).style.display="none";
		inc++;
	}
}

function expandboard(){
	var selectedDivObj=document.getElementById("billboard"+selectedDiv);
	contractboard();
	if (selectedDivObj.filters){
		if (billboardeffects.length>1){
			filterid=Math.floor(Math.random()*billboardeffects.length);
			selectedDivObj.style.filter="progid:DXImageTransform.Microsoft."+billboardeffects[filterid];
		}
		selectedDivObj.filters[0].duration=effectduration/1000;
		selectedDivObj.filters[0].Apply();
	}
	selectedDivObj.style.display="block";
	if (selectedDivObj.filters)	selectedDivObj.filters[0].Play();
	selectedDiv=(selectedDiv<totalDivs-1)? selectedDiv+1 : 0;
	setTimeout("expandboard()",tickspeed);
}

function startbill(){
	while (document.getElementById("billboard"+totalDivs)!=null)
		totalDivs++;
	if (document.getElementById("billboard0").filters);
	tickspeed+=effectduration;
	expandboard();
}

function getSelectedPrd()
{
	var ins = document.getElementsByTagName('input');
	var res = new Array();
	
	for (j=0, i=0; i<ins.length; i++) {
		if (!ins[i].id.match(/comp+/))
		{
			continue;
		}

		if (ins[i].checked) 
		{
			res[j++] = ins[i].value;						
		}
	}
	
	return res;	
}

function applyComparePrd()
{
	var url = location.href;
	//remove any previous filter
	url = url.replace(/\&ids=[^&]*/, '');
	//remove any page numbering
	//url = url.replace(/\&Secid=[^&]*/, '');

	var fltData = getSelectedPrd();
	if (!fltData.length)
	{
		alert(_chcomprdt);
		return false;
	}
	var fltStr = '';
	for (i=0; i<fltData.length-1; i++)
		fltStr += fltData[i] + ',';
	fltStr += fltData[i];
	
	if( fltStr &&  fltData[0] && fltData[1])	
	{
		var retstr = prdPHP+'?ids='+ fltStr;
		location.href = retstr;
	}
	else
	{
		alert(_chcomprdt);
		return false;
	}
	return false;
}

function switchSelectiononly(id)
{
	var obj = document.getElementById(id);
	if (!obj)
		return;
	if (obj.checked)
		obj.checked = false;
	else
		obj.checked = true;
	// updateMnfFilter();
}

function changetextsize(curid,type)
{
	if(type=="close")
	      curid.className="";	
	else
	      curid.className="bigtextarea";	
	return false;
}

function combotext_onkeydown(e,oText,Select){
  keyCode = e.keyCode;  
  oSelect = document.getElementById (Select);
  if (oSelect == null) return false;
  
  if (keyCode == 40 || keyCode == 38) {  
    oSelect.style.display = 'block';  
    oSelect.focus();  
    comboselect_onchange(oSelect, oText);  
  }  
  else if (keyCode == 13) {  
    e.cancelBubble = true;  
    if (e.returnValue) e.returnValue = false;  
    if (e.stopPropagation) e.stopPropagation();  
    comboselect_onchange(oSelect, oText);  
    oSelect.style.display='none';  
    oText.focus();  
    return false;  
  }  
  else if(keyCode == 9) return true;  
 /* else { //alert(keyCode);  
  
    oSelect.style.display = 'block';  
  
    var c = String.fromCharCode(keyCode);  
    c = c.toUpperCase();   
    toFind = oText.value.toUpperCase() + c;  
  
    for (i=0; i < oSelect.options.length; i++){  
       nextOptionText = oSelect.options.text.toUpperCase();  
  
        if(toFind == nextOptionText){  
            oSelect.selectedIndex = i;  
            break;  
        }  
  
        if(i < oSelect.options.length-1){  
           lookAheadOptionText = oSelect.options[i+1].text.toUpperCase() ;  
           if( (toFind > nextOptionText) &&   
              (toFind < lookAheadOptionText) ){  
              oSelect.selectedIndex = i+1;  
              break;  
           }  
         }  
         else {  
           if(toFind > nextOptionText){  
               oSelect.selectedIndex = oSelect.options.length-1; // stick it at the end  
               break;  
           }  
       }  
    } 
  }   */
}  

function comboselect_onchange(oSelect,oText) {  
  if(oSelect.selectedIndex != -1)  
    oText.value = oSelect.options[oSelect.selectedIndex].text;  
}  
  
function comboselect_onkeyup(keyCode,oSelect,oText){  
  if (keyCode == 13) {  
    comboselect_onchange(oSelect, oText);  
    oSelect.style.display='none';  
    oText.focus();  
  }  
}  

function updatemaininp(id,propname)
{
	propiddata=document.getElementById("prop."+id+"."+propname);
	propselectid=document.getElementById("prdselpupd_"+id+"_"+propname);
	if(propselectid.value!="none")
	{
		propiddata.value=propselectid.value;
	}
	return false;
}

function changeelementsdisplay(id,propname)
{
		propiddata=document.getElementById("prop."+id+"."+propname);
		propselectid=document.getElementById("prdselpupd_"+id+"_"+propname);
		if(propselectid.style.display=="none")
		{
			propselectid.style.display="inline";
		}
		else
		{
			propselectid.style.display="none";
		}
		
		if(propiddata.style.display=="none")
		{
			propiddata.style.display="inline";
		}
		else
		{
			propiddata.style.display="none";
		}
	return false;
}

function hideSelect(id)
{
	var selectedtr=document.getElementById(id);
	selectedtr.style.display='none';
	return false;
}

function frameparentlink(curprdid)
{
	parent.location="Products.php?id="+curprdid;
	return false;
}

function updateTextBox(textBoxId,valueToUpdate,otherOptions)
{
	var cnt = document.getElementById(textBoxId);
	var boxValue = cnt.value;
	var select = document.getElementById(otherOptions);
	
	if(options == null)
		cnt.value = valueToUpdate;
	else {
		var options = select.getElementsByTagName("option");
		for(i=0; i<options.length; i++) {
			var tempValue = options[i].value;
			if(boxValue.search(tempValue)>0)
				break;
		}
		boxValue = boxValue.replace(tempValue,valueToUpdate);
	}
}

function onlyNumbers(e)
{
	var keynum;
	var keychar;
	var numcheck;

	if(window.event) // IE
    		keynum = window.event.keyCode;
	  else if(e.which) // Netscape/Firefox/Opera
  		  keynum = e.which;
  	keychar = String.fromCharCode(keynum);
	numcheck = /\d/;
	return numcheck.test(keychar);
}

function onlyNumbersAndDot(e)
{
	var keynum;
	var keychar;
	var numcheck;

	if(window.event) // IE
    		keynum = window.event.keyCode;
	  else if(e.which) // Netscape/Firefox/Opera
  		  keynum = e.which;
  	keychar = String.fromCharCode(keynum);
	numcheck = /[\d\.]/;
	return numcheck.test(keychar);
}

function getTimeValue(id)
{
	cnt = document.getElementById(id);
	var hours = document.getElementById(id+'_hours');
	var minutes = document.getElementById(id+'_minutes');
	var string = "";
	string = hours.value + ":" + minutes.value;
	cnt.value = string;
}

function objectAdd(objectId, inputId)
{
	cnt = document.getElementById(inputId);
	cnt.value = objectId;
}

function multipleObjectAdd(objectId,inputId)
{
	cnt = document.getElementById(inputId);
	var value = cnt.value;
	if(!(value.search(objectId)>0))
		value += ", " + objectId;
	cnt.value = value;
}

function redirectPage()
{
	var url = location.href;
	location.href = url;
}

function openInfoPage(url)
{
//	window.open (url); 
window.open(url, "", "width=600px, height=450px, resizable");
//	window.open(url);
}

//
// getPageScroll()
// Returns array with x,y page scroll values.
// Core code from - quirksmode.com
//
function getPageScroll(){

	var xScroll, yScroll;

	if (self.pageYOffset) {
		yScroll = self.pageYOffset;
		xScroll = self.pageXOffset;
	} else if (document.documentElement && document.documentElement.scrollTop){	 // Explorer 6 Strict
		yScroll = document.documentElement.scrollTop;
		xScroll = document.documentElement.scrollLeft;
	} else if (document.body) {// all other Explorers
		yScroll = document.body.scrollTop;
		xScroll = document.body.scrollLeft;
	}

	arrayPageScroll = new Array(xScroll,yScroll);
	return arrayPageScroll;
}

function getPageSize() {
  size_arr = new Array();
  size_arr[0] = 0;
  size_arr[1] = 0;
  if( typeof( window.innerWidth ) == 'number' ) {
    //Non-IE
    size_arr[0] = window.innerWidth;
    size_arr[1] = window.innerHeight;
  } else if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) {
    //IE 6+ in 'standards compliant mode'
    size_arr[0] = document.documentElement.clientWidth;
    size_arr[1] = document.documentElement.clientHeight;
  } else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) {
    //IE 4 compatible
    size_arr[0] = document.body.clientWidth;
    size_arr[1] = document.body.clientHeight;
  }
  return size_arr;
}

var overlay="";
function show_preload()
{
	pageScroll = getPageScroll();
	pageSize = getPageSize();
	var overlay = document.getElementById("pageOverlay");
	if (!overlay)
	{
		var overlay = document.createElement("DIV");
		overlay.id = "pageOverlay";
		overlay.style.top = pageScroll[1];
		document.body.appendChild(overlay);
	}
	else
		overlay.style.top = pageScroll[1];

	if (!document.getElementById("preloader"))
	{
		preload = document.createElement("DIV");
		preload.id = "preloader";
		preload.style.display = "block";
		preload.style.top = (parseFloat(pageSize[1])/2) + pageScroll[1];
		preload.style.zIndex = "999";
		document.body.appendChild(preload);
	}
	else
		preload.style.top = (parseFloat(pageSize[1])/2) + pageScroll[1];

	document.body.onscroll = move_preload();
}

function move_preload()
{
	pageScroll = getPageScroll();
	pageSize = getPageSize();
	overlay = document.getElementById("pageOverlay");
	preload = document.getElementById("preloader");
	if (!overlay || !preload) return;
	overlay.style.top = pageScroll[1];
	preload.style.top = (parseFloat(pageSize[1])/2) + pageScroll[1];
}

function hide_preload()
{
	if (document.getElementById("preloader"))
	{
		document.body.removeChild(document.getElementById("preloader"));
	}
	if (document.getElementById("pageOverlay"))
	{
		document.body.removeChild(document.getElementById("pageOverlay"));
	}
	document.body.onscroll = null;
}

function updateMnfFrame(value,frameId,field)
{
	var frameObj = document.getElementById(frameId);
	frameObj.style.display = "block";
	var url = aePHP+"?field="+field+"&value="+value;
	var htmlResponse = LoadHTML(url);
	if(htmlResponse)
	alert(htmlResponse);
//		frameObj.innerHTML = htmlResponse;
	else
		frameObj.innerHTML = "אירעה שגיאה.";
	
}
/*
  Moves elementBy ID sugBox under obj
*/

function moveElementRelative(sugBox,obj,flags){

//	if (flags) {
//		var dir=flags 	
//	}
	var offsetY = 0;
	var offsetX = 0;
	var height = 0;
	if (obj != null) { 
		height = obj.clientHeight;
		width = obj.clientWidth;
	}
	var dir = 1;
	
	while (obj != null) {
		offsetY+=obj.offsetTop;
		offsetX+=obj.offsetLeft;
		obj=obj.offsetParent;
	}
	obj = document.getElementById(sugBox);
	if (obj != null) {
		obj.style.position = "absolute";
		offsetY+=height;
		if (dir==1) offsetX+=width-obj.clientWidth;
		obj.style.top = ""+offsetY+"px";
		obj.style.left = ""+offsetX+"px";
	}	
}

function close_autocomplete()
{
	kac.close();
	document.getElementById(txtSearchId).focus();
}

var currentLookupObj = null;
var currentSugBox = null;
function mylookup(id,sugBox,sugList,action){
	var inputString=id.value;
	var cur_id = id.id;
	if (!action) var action="lookup";
	if(inputString.length == 0) 
	{
		// Hide the suggestion box.
		hideDisplayByID(sugBox);
		//	var unicode=event.keyCode? event.keyCode : event.charCode;
		//	alert(unicode);
	} 
	else 
	{
		currentLookupObj = id;
		var updObj=document.getElementById(sugList);
		var classType = $("#"+cur_id).attr("classType");
		var url=aePHP+"?action="+action+"&id="+encodeURIComponent(id.id)+"&classType="+classType+"&data="+encodeURIComponent(inputString);

		var options = {
			script: url+"&",
			varname: "data",
			json: true,
			delay:50,
			shownoresults: true,
			maxresults: 10,
			timeout: 50000,
			offsety: 0,
			minchars: 1
		};
		var as = new bsn.AutoSuggest(id, options);
		
		//LoadHTML(url,false,updObj);
		//showDisplayByID(sugBox);
		//moveElementRelative(sugBox,id);
		currentSugBox=sugBox;
	}
} 

function fill(data){
	if (currentLookupObj){
		currentLookupObj.value=data;
	}
	if (currentSugBox){
//    	alert (currentSugBox);
		hideDisplayByID(currentSugBox);
	}
}

function matchStrArray(s,arraySub){

for(itemindex=0;itemindex<arraySub.length;itemindex++){ 
 i = s.toLowerCase().search(arraySub[itemindex].toLowerCase()); 
 if(i==-1){ 
            break; 
          } 
        }
 return i;
}

// take obj value as search and select it! 
function autoSelect(obj,selectId){
//	selected = new Array();
	var search=obj.value;
	var sArray=search.split(" ");
	var select=document.getElementById(selectId);
//	alert("-"+search+"-");
	
  	for (var i = 0; i < select.options.length; i++){
  		value=select.options[i].innerHTML;
  		match=matchStrArray(value,sArray);
    	if (select.options[i].selected==false && match>-1) select.options[i].selected=true;
    	else if (select.options[i].selected==true && match==-1) select.options[i].selected=false;
  	}
}

function copySelect(selectObj,destId){	
	destObj=document.getElementById(destId);
  	for (var i = 0; i < selectObj.options.length; i++){
  		if (selectObj.options[i].selected==true) {
  			destObj.value=selectObj.options[i].innerHTML;
  			break;
  		}
	}
}

function updateMnfFilter()
{
	//is there anything checked, if so show filter button
	var cnt = document.getElementById('categories_container_mnf');
	var ins = cnt.getElementsByTagName('input');
	for (i=0; i<ins.length; i++) {
		//		if (!ins[i].id.match(/filter_[0-9]+/))
		//			continue;

		if (ins[i].checked)
		break;
	}

	var button = document.getElementById('filterControl');
	if (!button)
	return;
	if (i != ins.length)
	button.style.display = 'block';
	else
	button.style.display = 'none';
}

function getSelectedMnf()
{
	var cnt = document.getElementById('categories_container_mnf');
	var ins = cnt.getElementsByTagName('input');
	var res = new Array();

	for (j=0, i=0; i<ins.length; i++) {
		if (!ins[i].id.match(/filter_[0-9]+/))
		continue;

		if (ins[i].checked)
		res[j++] = ins[i].value;
	}

	return res;
}

function applyMnf(mnfFilter, path, category){
	var url="";
	if(document.getElementById("currentURL")!=null)
	url = document.getElementById("currentURL").value;
	if(document.getElementById("currentURL2")!=null)
	url = document.getElementById("currentURL2").value;
	//remove any previous filter
	url = url.replace(/\&mnfFilter=[^&]*/, '');
	//remove any page numbering
	url = url.replace(/\&pageNum=[^&]*/, '');

	if(document.getElementById("currentURL")!=null)
		document.getElementById("currentURL").value = url;
	if(document.getElementById("currentURL2")!=null)
		document.getElementById("currentURL2").value = url;

	//var propsDiv = document.getElementById("showCategoryProducts");
	//var htmlResponse = LoadHTML(url,true,propsDiv);

	var params = "";
	updateElement = "#showCategoryProducts";
	
	runJqueryAjax(url,params,true,updateElement);
	
	//PropsFilterFunction(path, category);
}

function applyMnfFilter(key, path, category)
{
	var url = "";
	if(document.getElementById("currentURL")!=null)
	url = document.getElementById("currentURL").value;
	if(document.getElementById("currentURL2")!=null)
	url = document.getElementById("currentURL2").value;
	//remove any previous filter
	url = url.replace(/\&mnfFilter=[^&]*/, '');
	//remove any page numbering
	url = url.replace(/\&pageNum=[^&]*/, '');

	if(key!=false)
	var fltData = key;

	if(!fltData) {
		var fltData = getSelectedMnf();
		var fltStr = '';
		for (i=0; i<fltData.length-1; i++)
		fltStr += fltData[i] + ',';
		fltStr += fltData[i];

	}

	if (!fltData.length&&key==false) {
		if(document.getElementById("clearMnfControl"))
		document.getElementById("clearMnfControl").click();
		return;
	}

	if(key!=false)
	var fltStr = key;

	url += '&mnfFilter=' + fltStr;
	if(document.getElementById("currentURL")!=null)
		document.getElementById("currentURL").value = url;
	if(document.getElementById("currentURL2")!=null)
		document.getElementById("currentURL2").value = url;

	//var propsDiv = document.getElementById("showCategoryProducts");
	//var htmlResponse = LoadHTML(url,true,propsDiv);
	var params = "";
	updateElement = "#showCategoryProducts";

	runJqueryAjax(url,params,true,updateElement);

	//PropsFilterFunction(path, category);
}

function returnMnf()
{
	var fltData = getSelectedMnf();
	if (!fltData.length)
	return;

	var fltStr = '';
	for (i=0; i<fltData.length-1; i++)
	fltStr += fltData[i] + ',';
	fltStr += fltData[i];

	return fltStr;
}

function prdChangePage(obj,path,category,sStr)
{
	if( sStr != null )
		var action = "showSearchResult";
	else
		var action = "showProducts";

	var url = aePHP+"?action=" + action + "&path=" + path + "&category=" + category + "&sStr=" + sStr;
	if(document.getElementById("currentURL")!=null)
		url = document.getElementById("currentURL").value;
	if(document.getElementById("currentURL2")!=null)
		url = document.getElementById("currentURL2").value;
	
	updateElement = "#showCategoryProducts";
	params = "";
	var htmlResponse = runJqueryAjax(url + "&pageNum=" + obj.selectedIndex,params,true,updateElement);
}

function searchChangePage(obj,path,category,sStr)
{
	if( sStr == null ) 
		var sStr = $("input[name=sStr]").val();
	var url= aePHP+"?action=showSearchResult" + "&sStr=" + sStr;

	updateElement = "#showCategoryProducts";
	params = "";
	var htmlResponse = runJqueryAjax(url + "&pageNum=" + obj.selectedIndex,params,true,updateElement);
}

function createFilterArray()
{
	var filterArray = new Array();
	var cnt = document.getElementById('filters');
	if(cnt==null) return 0;
	var ins = cnt.getElementsByTagName('input');
	if(ins==null) return 0;
	for (i=0; i<ins.length; i++){
//		alert (ins[i].value);
		filterArray[i] = ins[i].value;
	}
	return filterArray;
}

function updateNewFilter()
{
	var button = document.getElementById('filterControlProp');
	if (!button)
	return;

	var filterArray = new Array();
	var check=0;
	filterArray = createFilterArray();
	for (i=0; i<filterArray.length; i++)
	{
		var cnt = document.getElementById('filter.' + filterArray[i]);
		if(cnt)
		{
			var ins = cnt.getElementsByTagName('input');
			for (j=0; j<ins.length; j++)
			{
				if (ins[j].checked)
				break;
			}

			if (j != ins.length)
			check++;
			else
			button.style.display = 'none';
		}
	}
	if(check>0)
	button.style.display = 'block';
}

function getSelectedFilter(filter)
{
//	var filterArray = new Array();
	var res = new Array();
//	filterArray = createFilterArray();
	
	var cnt = document.getElementById('filter.' + filter);
	if (cnt==null) return res;
	var ins = cnt.getElementsByTagName("input");
	if (ins==null) return res;
	for (j=0, i=0; i<ins.length; i++)
	{
		if (ins[i].checked)
		res[j++] = ins[i].value;
	}
	return res;
}

function clearFilter2()
{
	var url = location.href;
	url = url.replace(/\&pageNum=[^&]*/, '');

	while (url.search(/\&filter\.[^&]*/, '')>0) {
		url = url.replace(/\&filter\.[^&]*/, '');
		if (!(url.search(/\&filter\.[^&]*/, '')>0))
		break;
	}

	location.href = url;
}

function applyFilter()
{
	var filterArray = new Array();
	var url = location.href;
	var check = 0;

	filterArray = createFilterArray();
	url = url.replace(/\&pageNum=[^&]*/, '');

	while (url.search(/\&filter\.[^&]*/, '')>0) {
		url = url.replace(/\&filter\.[^&]*/, '');
		if (!(url.search(/\&filter\.[^&]*/, '')>0))
		break;
	}

	for (i=0; i<filterArray.length; i++)
	{
		var fltData = getSelectedFilter(filterArray[i]);
		if (!fltData.length)
		check++;
	}

	var fltStr = new Array();
	var i=0;
	for (i=0; i<filterArray.length; i++)
	{
		var fltData = getSelectedFilter(filterArray[i]);
		if (check == filterArray.length)
		location.href = url;

		fltStr[i] = '';
		for (j=0; j<fltData.length-1; j++)
		fltStr[i] += fltData[j] + ',';
		fltStr[i] += fltData[j];

		if ((fltStr[i]!='') && (fltStr[i]!="undefined"))
		url += '&filter.' + filterArray[i] + '=' + encodeURI(fltStr[i]);
	}
//	alert (url);
	location.href = url;
	return false;
}

function sortURL(sortType,path,category)
{
	var url= aePHP+"?action=showProducts" + "&path=" + path + "&category=" + category;
	if(document.getElementById("currentURL")!=null)
		url = document.getElementById("currentURL").value;
	if(document.getElementById("currentURL2")!=null)
		url = document.getElementById("currentURL2").value;

	url = url.replace(/\&sort=[^&]*/, '');
	url = url.replace(/\&pageNum=[^&]*/, '');
	if ((sortType != "none") && (sortType != ""))
	url+='&sort=' + sortType;

	if(document.getElementById("currentURL")!=null)
		document.getElementById("currentURL").value = url;
	if(document.getElementById("currentURL2")!=null)
		document.getElementById("currentURL2").value = url;

	//var propsDiv = document.getElementById("showCategoryProducts");
	//var htmlResponse = LoadHTML(url,true,propsDiv);
	var params = "";
	updateElement = "#showCategoryProducts";
	
	runJqueryAjax(url,params,true,updateElement);
	
}

function PropsFilterFunction(path,category)
{
//	alert ("here "+path);
	var tempUrl = "";
	if(document.getElementById("currentURL"))
		tempUrl = document.getElementById("currentURL").value;
	if(document.getElementById("currentURL2"))
		tempUrl = document.getElementById("currentURL2").value;

	var catLink = "&path=" + path + "&category=" + category;
//	var filtersDiv = document.getElementById("filtersDIV");
	var url = aePHP+"?action=showFiltersStrip" + catLink;
//	var htmlResponse = LoadHTML(url);
//	if(htmlResponse&&filtersDiv) filtersDiv.innerHTML = htmlResponse;
	
	var params = "";
	updateElement = "#filtersDIV";
	runJqueryAjax(url,params,false,updateElement);

//	var ajaxElement = document.getElementById("categories_container_prop");
	var url2 = aePHP+"?action=showFiltersStripAjax" + catLink;
//	var htmlResponse2 = LoadHTML(url2);
//	if(!htmlResponse2) {
//		if(filtersDiv)
//		filtersDiv.style.display="none";
//		if(ajaxElement)
//		ajaxElement.style.display="none";
//	}
//	else if(htmlResponse2&&ajaxElement)
//		ajaxElement.innerHTML = htmlResponse2;

	var params = "";
	updateElement = "#categories_container_prop";
	runJqueryAjax(url2,params,false,updateElement);
	
	if(document.getElementById("currentURL")!=null)
		document.getElementById("currentURL").value = tempUrl;
	if(document.getElementById("currentURL2")!=null)
		document.getElementById("currentURL2").value = tempUrl;

	if(document.getElementById("showFiltersBoxes"))
		createBoxes(tempUrl,path,category);
}

function createBoxes(url,path,category)
{
	var url2 = url;
	var temp = "";
	var filterName = new Array();
	var values = new Array();
	var i = 0;
	var pos = url.search("&filter.");
	if(pos>0) {
		while(pos>0) {
			temp = url.substring(pos+8);
			var pos2 = temp.search("=");
			filterName[i] = temp.substring(0,pos2);
			var pos3 = temp.search("&");
			if(pos3>0)
			values[i] = temp.substring(pos2+1,pos3);
			else
			values[i] = temp.substring(pos2+1);

			url = temp;
			pos = url.search("&filter.");
			i++;

		}
	}
	var tempMnfs = "";
	pos = url2.search("&mnfFilter=");
	if(pos>0) {
		temp = url2.substring(pos+11);
		var pos2 = temp.search("&");
		if(pos2>0)
		tempMnfs = temp.substring(0,pos2);
		else
		tempMnfs = temp;
		var url3 = aePHP+"?action=returnName"+"&Name=" +tempMnfs + "&propOrMnf=mnf";
		values[i] = LoadHTML(url3,false,null);
		filterName[i] = "mnf";
	}

	document.getElementById("showFiltersBoxes").innerHTML = "";
	var inner = "";
	var divName = "";
	if(filterName.length>0) {
		inner += "<table dir='rtl'><tr>";
		for(j=0; j<filterName.length;j++) {
			if(filterName[j]=="mnf")
			divName = "categories_container_mnf";
			else
			divName = "categories_container_prop";

			var url2 = aePHP+"?action=returnName"+"&Name=" +filterName[j] + "&propOrMnf=prop";
			var HebFilterName = LoadHTML(url2,false,null);
			var uniqueId = filterName[j]+j;
			inner += "<td dir='rtl' id='"+uniqueId+"'><img src='images/close_box.gif' height='10' width='10' onclick='DeleteBox(\""+divName+"\",\""+uniqueId+"\",\""+filterName[j]+"\",\""+path+"\",\""+category+"\");'> <dir='rtl'>"+HebFilterName+":    "+values[j]+"</dir></td><td></td>";
		}

		inner += "</tr></table>";
	}

	document.getElementById("showFiltersBoxes").innerHTML = inner;

}

function updatePrices(formId)
{
	if(confirm(_removeprd))
	{
		var string = "";
		var inputsString = "";
		var cnt = document.getElementById(formId);

		//		input
		var ins = cnt.getElementsByTagName("input");
		for (i=0; i<ins.length; i++) {
			if (ins[i].value == "עדכן")
			continue;
			string += "&" + ins[i].id + "=" + ins[i].value;
			inputsString += ins[i].value;
		}
		//		select
		var ins = cnt.getElementsByTagName("select");
		for (i=0; i<ins.length; i++) {
			string += "&" + ins[i].id + "=" + ins[i].value;
			inputsString += ins[i].value;
		}


		if((formId!="") && (string!="") && (inputsString!=""))
		{
			url = aePHP+"?action=updatePrices"+"&id=" +formId + string;
			var htmlResponse = LoadHTML(url);
			if(htmlResponse)
			return false;
		}
		else
		alert(_emptyinputerr);
	}
}

function updateValue(formId)
{
	if(confirm(_removeprd))
	{
		var string = "";
		var cnt = document.getElementById(formId);

		//		input
		var ins = cnt.getElementsByTagName("input");
		for (i=0; i<ins.length; i++) {
			if (ins[i].value == "עדכן")
			continue;
			string += "&" + ins[i].id + "=" + ins[i].value;
		}
		//		textarea
		var ins = cnt.getElementsByTagName("textarea");
		for (i=0; i<ins.length; i++)
		string += "&" + ins[i].id + "=" + ins[i].value;

		if((formId!="") && (string!=""))
		{
			url = aePHP+"?action=updateValue"+"&id=" +formId + string;
			var htmlResponse = LoadHTML(url);
			if(htmlResponse)
			return false;
		}
		else
		alert(_emptyinputerr);
	}
}

function insertNewProp(path)
{
	var url = aePHP+"?action=insertNewProp" + "&path=" + path;
	var htmlResponse = LoadHTML(url);
	if(htmlResponse)
	return false;
}

function checkPropExist(tempId)
{
	var cnt = document.getElementById(tempId);
	var value = cnt.value;
	var url = aePHP+"?action=checkId" + "&id=" + value;
	if(value!="")
	{
		var htmlResponse = LoadHTML(url);
		document.getElementById('check_prop').innerText = htmlResponse;
	}
}

function updateProp(formId)
{
	if(confirm(_removeprd))
	{
		var string = "";
		var check = 0;
		var cnt = document.getElementById(formId);
		var url = "";
		var ins = cnt.getElementsByTagName("input");
		for (i=0; i<ins.length; i++) {
			if (ins[i].value == "עדכן")
			continue;
			if(ins[i].value=="")
			continue;
			if(ins[i].id=="temp_id" && ins[i].value=="")
			alert(_emptyinputerr);
			string += "&" + ins[i].id + "=" + ins[i].value;
			check++;
		}

		if(document.getElementById('check_prop')) {
			if(document.getElementById('check_prop').innerText!="") {
				alert("מאפיין קיים כבר. בחר שם מאפיין אחר.");
				return false; }
		}
		if((formId!="") && (string!="") && (check>0))
		{
			url = aePHP+"?action=updateProp"+"&propName=" +formId + string;
			var htmlResponse = LoadHTML(url);
			if(htmlResponse)
			return false;
		}
		else
		alert(_emptyinputerr);
	}
}

function showUpdatedProducts(path,category)
{
	var filterArray = new Array();
	var url= aePHP+"?action=showProducts" + "&path=" + path + "&category=" + category;
	if(document.getElementById("currentURL")!=null)
	url = document.getElementById("currentURL").value;
	if(document.getElementById("currentURL2")!=null)
	url = document.getElementById("currentURL2").value;

	var check = 0;
	var String = "";

	filterArray = createFilterArray();
	if(filterArray==0) {
		var button = document.getElementById("filterControlProp");
		if(button)
		button.style.display = "none";
	}
	url = url.replace(/\&pageNum=[^&]*/, '');
	while (url.search(/\&filter\.[^&]*/, '')>0) {
		url = url.replace(/\&filter\.[^&]*/, '');
		if (!(url.search(/\&filter\.[^&]*/, '')>0))
		break;
	}
	for (i=0; i<filterArray.length; i++)
	{
		var fltData = getSelectedFilter(filterArray[i]);
		if (!fltData.length)
		check++;
	}
	var fltStr = new Array();
	var i=0;
	for (i=0; i<filterArray.length; i++)
	{
		var fltData = getSelectedFilter(filterArray[i]);

		fltStr[i] = '';
		for (j=0; j<fltData.length-1; j++)
		fltStr[i] += fltData[j] + ',';
		fltStr[i] += fltData[j];

		if ((fltStr[i]!='') && (fltStr[i]!="undefined")) {
			String+='&'+encodeURIComponent('filter.' + filterArray[i])+'='+encodeURIComponent(fltStr[i]);
		}
	}
	url += String;
//	alert (url);
	if(document.getElementById("currentURL")!=null)
	document.getElementById("currentURL").value = url;
	if(document.getElementById("currentURL2")!=null)
	document.getElementById("currentURL2").value = url;
	//var propsDiv = document.getElementById("showCategoryProducts");
	//var htmlResponse = LoadHTML(url,true,propsDiv);
	
	var params = "";
	updateElement = "#showCategoryProducts";
	
	runJqueryAjax(url,params,true,updateElement);
}

function clearFilter(path,category)
{
	var url= aePHP+"?action=showProducts" + "&path=" + path + "&category=" + category;
	if(document.getElementById("currentURL")!=null)
	url = document.getElementById("currentURL").value;
	if(document.getElementById("currentURL2")!=null)
	url = document.getElementById("currentURL2").value;

	url = url.replace(/\&pageNum=[^&]*/, '');

	while (url.search(/\&filter\.[^&]*/, '')>0) {
		url = url.replace(/\&filter\.[^&]*/, '');
		if (!(url.search(/\&filter\.[^&]*/, '')>0))
		break;
	}

	if(document.getElementById("currentURL")!=null)
	document.getElementById("currentURL").value = url;
	if(document.getElementById("currentURL2")!=null)
	document.getElementById("currentURL2").value = url;

	//var propsDiv = document.getElementById("showCategoryProducts");
	//var htmlResponse = LoadHTML(url,true,propsDiv);
	var params = "";
	updateElement = "#showCategoryProducts";
	
	runJqueryAjax(url,params,true,updateElement);
}

function checkChecked(filterName,tempID)
{
	var url = "";
	var showMiniStrip = false;
	var urlOrig = location.href;
	if(document.getElementById("currentURL")!=null)
	url = document.getElementById("currentURL").value;
	if(document.getElementById("currentURL2")!=null)
	url = document.getElementById("currentURL2").value;
	var pos = url.search("filter."+filterName);
	var posOrig = urlOrig.search("filter."+filterName);
	var cnt = document.getElementById(tempID);
	if((cnt && pos>0) || (cnt && posOrig>0))
	{
		url = url.substring(pos);
		urlOrig = urlOrig.substring(posOrig);
		var pos2 = url.search("&");
		var posOrig2 = urlOrig.search("&");
		if(pos2>0)
		url = url.substring(0,pos2);
		if(posOrig2>0)
		urlOrig = urlOrig.substring(0,posOrig2);
		var ins = cnt.getElementsByTagName("input");
		if(ins.length>0)
		{
			for(i=0; i<ins.length; i++)
			{
				if(ins[i].checked==true) {
					showMiniStrip = true;
					continue;
				}
				else {
					if(url.search(ins[i].value)>0) {
						ins[i].checked = true;
						showMiniStrip = true;
					}
					if(urlOrig.search(ins[i].value)>0) {
						showMiniStrip = true;
						ins[i].checked = true;
					}
				}
			}
			if(showMiniStrip==true)
			cnt.style.display = "inline";
			else
			cnt.style.display = "none";
		}
	}
}

function clearChecked(divID)
{
	var cnt=document.getElementById(divID);
	var ins = cnt.getElementsByTagName("input");
	if(ins.length>0) {
		for(i=0;i<ins.length;i++) {
			ins[i].checked = false;
		}
	}
}

function DeleteBox(divToDelete,boxToDelete,filterName,path,category)
{
	var box = document.getElementById(boxToDelete);
	var divDelete = document.getElementById(divToDelete);
	var url = "";
	if(document.getElementById("currentURL")!=null)
	url = document.getElementById("currentURL").value;
	if(document.getElementById("currentURL2")!=null)
	url = document.getElementById("currentURL2").value;

	var string = "&filter."+filterName+"=";
	if(filterName=="mnf")
	string = "&mnfFilter=";

	var pos = url.search(string);
	if(!(pos>0))
	alert("error");
	var tempSub = url.substring(pos);
	var pos2 = tempSub.search("&");
	if(pos2>0)
	tempSub = tempSub.substring(0,pos2);

	url = url.replace(tempSub,'');

	if(document.getElementById("currentURL")!=null)
	document.getElementById("currentURL").value = url;
	if(document.getElementById("currentURL2")!=null)
	document.getElementById("currentURL2").value = url;

	if(box)
	box.style.display = "none";

	if(divDelete) {
		var ins = divDelete.getElementsByTagName("input");
		if(ins.length>0) {
			if(filterName=="mnf") filterName = "mnfFilter";
			else filterName = "filter."+filterName;
			for(i=0;i<ins.length;i++)
			if(ins[i].name==filterName)
			ins[i].checked = false;
		}
	}

	var propsDiv = document.getElementById("showCategoryProducts");
	var htmlResponse = LoadHTML(url,true,propsDiv);

	PropsFilterFunction(path, category);
}

function sendUserNumber(workingHours)
{
	var obj = document.getElementById('userPhoneNum');
	if (!obj)
	return false;
	if (obj.value.match(/[^0-9\-]/)) {
		alert(_numbersOnly);
		return false;
	}
	obj.value = obj.value.replace(/[^0-9]+/g,'');

	if (obj.value.length < 8 || obj.value.length > 12 || obj.value.substring(0,1) != '0') {
		alert(_badPhone);
		return false;
	}

	var text = document.getElementById('callmeText');
	var str = _callingTo + ' ' + obj.value + '<br>' + _pleaseWait;
	text.innerHTML = str;
	var formObj = document.getElementById('callaNumber');
	formObj.style.display = 'none';
	if (workingHours)
	var str = _callingNow;
	else
	var str = _callingLater;
	var ajaxAction = aePHP+'?action=callMe&phone=' + escape(obj.value);
	var xmlHttp = getHTTPObject();
	xmlHttp.onreadystatechange = function()
	{
		if (xmlHttp.readyState == 4 && xmlHttp.status == 200) {
			if (!workingHours)
			text.innerHTML = str;
		}
	}
	xmlHttp.open("GET",ajaxAction, false);
	xmlHttp.send(null);
}

function updatesession(pricetype)
{
	url = aePHP+"?action=UpdatePriceType"+"&pricetype="+pricetype;
	var htmlResponse = LoadHTML(url);
	if(htmlResponse)
	document.location.reload();
}

function disablePicAndRefresh(id)
{
	if(confirm(_removeprd))
	{
		url = aePHP+"?action=DisablePicDetect"+"&id="+id;
		var htmlResponse = LoadHTML(url);
		if(htmlResponse)
		{
			var selectedtr=document.getElementById("prdpic_"+id);
			selectedtr.style.display='none';
			return false;
		}

	}
	return false;
}

function disablepropAndRefresh(id,propname)
{
	//	alert ("here");
	if(confirm(_removeprd))
	{
		propiddata=document.getElementById("prdpupd_"+id+"_"+propname);
		propselectid=document.getElementById("prdselpupd_"+id+"_"+propname);
		if(propiddata.style.display=="none" && propselectid.style.display!="none")
		{
			propdata=propselectid.value;
		}
		else
		{
			propdata=propiddata.value;
		}
		if(propdata!="")
		{
			url = aePHP+"?action=Disableprop"+"&id="+id+"&proptname="+propname+"&proptdata="+propdata;
			var htmlResponse = LoadHTML(url);
			if(htmlResponse)
			{
				var selectedtr=document.getElementById("reqprop_"+id+"_"+propname);
				selectedtr.style.display='none';
				return false;
			}
		}
		else
		{
			alert(_emptyinputerr);
			propiddata.focus();
		}


	}
	return false;
}

function Hideprop(id,propname)
{
	if(confirm(_hideprd))
	{
		propdata="!<hidden>";
		url = aePHP+"?action=Disableprop"+"&id="+id+"&proptname="+propname+"&proptdata="+propdata;
		var htmlResponse = LoadHTML(url);
		if(htmlResponse)
		{
			var selectedtr=document.getElementById("reqprop_"+id+"_"+propname);
			selectedtr.style.display='none';
			return false;
		}

	}
	return false;
}

function deleteProp(id,propname)
{
	if(confirm(_deleteprd))
	{
		url = aePHP+"?action=Deleteprop"+"&id="+id+"&proptname="+propname;
		var htmlResponse = LoadHTML(url);
		if(htmlResponse)
		{
			var selectedtr=document.getElementById("reqprop_"+id+"_"+propname);
			selectedtr.style.display='none';
			return false;
		}

	}
	return false;
}

function showDisabledPrdjs()
{
	var  curbox=document.getElementById("showdisableprd");
	if(curbox.checked)
	{
		url = aePHP+"?action=showDisabledPrd"+"&showDisabledch=Y";
	}
	else
	{
		url = aePHP+"?action=showDisabledPrd"+"&showDisabledch=N";
	}
	var htmlResponse = LoadHTML(url);
	if(htmlResponse)
	document.location.reload();
}

function omcbuildPrint()
{
	var url='productsPrint.php?id=OMCBASIC&cpuid='+cartforprint['select.cpu']+'&hddid='+cartforprint['select.hdd']+'&memid='+cartforprint['select.memory']+'&caseid='+cartforprint['select.case']+'&mbid='+cartforprint['select.mb'];
	if(cartforprint['select.odrive'])
	{
		url=url+'&odriveid='+cartforprint['select.odrive'];
	}
	if(cartforprint['select.os'])
	{
		url=url+'&osid='+cartforprint['select.os'];
	}
	if(cartforprint['select.vgacard'])
	{
		url=url+'&vgaid='+cartforprint['select.vgacard']
	}

	window.open(url);
	return false;
}

//function disableprdAndRefresh(id,propname)
//{
//	if(confirm(_removeprd))
//	{
//		propiddata=document.getElementById("prdpupd_"+id+"_"+propname);
//		propdata=propiddata.value;
//		alert (propdata);
//		if(propdata!="")
//		{
//			url = aePHP+"?action=DisableprdDetect"+"&id="+id+"&proptname="+propname+"&proptdata="+propdata;
//			var htmlResponse = LoadHTML(url);
//			if(htmlResponse)
//			{
//				var selectedtr=document.getElementById("reqprop_"+id+"_"+propname);
//				selectedtr.style.display='none';
//				return false;
//			}
//		}
//		else
//		{
//			alert(_emptyinputerr);
//			propiddata.focus();
//		}
//
//
//	}
//	return false;
//}

/**
* Updates values to any table.
* parameters: tableName 	- table to update into,
*		tableIdName 	- how the id is shown in the table (id, prdId, etc.)
*		id 		- id to update for
**/
function updateCertainTable(tableName,tableIdName,id)
{
	if(confirm(_removeprd)) {
		var string = "";
		var cnt = document.getElementById(id);
		var ins = cnt.getElementsByTagName("input");
		for (i=0; i<ins.length; i++) {
			if (ins[i].value == "עדכן")
			continue;
			if(ins[i].value == "")
			continue;
			string += "&" + ins[i].id + "=" + ins[i].value;
		}
		var url = aePHP+"?action=updateCertainTable"+"&tableName=" + tableName + "&idName=" + tableIdName +"&id=" + id + string;
		var htmlResponse = LoadHTML(url);
		if(htmlResponse!="")
		alert(htmlResponse);
		else {
			alert("עדכון בוצע בהצלחה");
			redirectPage();
		}
	}
}

function updateMnfNumber(mnfFrom)
{
	var mnfTo = "";
	var fromForm = document.getElementById(mnfFrom);
	var inputs = fromForm.getElementsByTagName("input");
	if(inputs.length>0) {
		for(i=0;i<inputs.length;i++) {
			if(inputs[i].id=='autoSuggest_id_'+mnfFrom)
			mnfTo = inputs[i].value;
		}
	}
	if(confirm(_removeprd) && mnfTo!="") {
		var url = aePHP+"?action=updateMnfNumber" + "&mnfFrom=" + mnfFrom + "&mnfTo=" + mnfTo;
		var htmlResponse = LoadHTML(url);
		if(htmlResponse)
		alert(htmlResponse);
		else
		alert("אירעה שגיאה בעדכון.");
	}
}

function showObjects(pageNum,divID)
{
	if(divID == null)
	var divID = "mnfItems";
	var url = aePHP+"?action=showObjects" + "&pageNum=" + pageNum;
	var htmlResponse = LoadHTML(url);
	if(htmlResponse) {
		var mnfDiv = document.getElementById(divID);
		if(mnfDiv) {
			mnfDiv.innerHTML = htmlResponse;
			var x = mnfDiv.getElementsByTagName("script");
			if(x.length>0) {
				for(var i=0;i<x.length;i++)	eval(x[i].text);
			}
		}
		else
		alert("שגיאה");
	}
	else
	alert("שגיאה");
}

var cartSection = new Array();
var cartPrdDesc = new Array();
startSmallCart = true;
var basePrice = "";
var basePrice1 = "";

function ShopCart_AddTreeToCart(id)
{
	var p;
	for (p in cartSection) {
		var x=p.slice(0,7);
		if (x=="select.") {
			var sectionValues=cartSection[p].split(',');
			prd=sectionValues[0];
			if(prd != "_none")
			{
				id=id+","+prd;
			}
		}
	}
	ShopCart_Action("add",id);
}

function click(id){
	document.getElementById(id).click();
}

var cartforprint = new Array();
function asiChange(obj,section,value,value1)
{
	var i=0;
	var html='';
	cartSection[section]=obj.value+","+value+","+value1;
	//need this global to know the ids of the prd to print
	cartforprint[section]=obj.value;
	var prd=obj.value;
	
	var prdTitleElement = document.getElementById('title.'+prd);
	
	var prdTitle = '';
	if (prdTitleElement != null) prdTitle=prdTitleElement.innerHTML;
	cartPrdDesc[prd]=prdTitle;
	var totalPrice = basePrice;
	var totalPrice1 = basePrice1;
	//html = document.getElementById('cartResults');
	html = $('#cartResults');
	var  show_total_price = false;
	
	if (html != null) 
	{
		var p;
		
		var innerHtml = "<ul>";
		for(p in cartSection) 
		{
			var x =p.slice(0,7);
			if (x=="select.") 
			{
				var sectionValues = cartSection[p].split(',');
				prd = sectionValues[0];
				var j_prd_link = $("#link_"+prd).attr("href");
				if (prd!="_none")
				{
					show_total_price = true;
					//innerHtml = innerHtml + "• <a target='_blank' href='"+j_prd_link+"'>" + cartPrdDesc[prd] + "</a><br />";
					innerHtml = innerHtml + "<li><a target='_blank' href='"+j_prd_link+"'>" + cartPrdDesc[prd] + "</a><br /></li>";
					totalPrice = totalPrice + parseFloat(sectionValues[1]);
					totalPrice1 = totalPrice1 + parseFloat(sectionValues[2]);
				}
			}
		}
		innerHtml += "</ul>";
		//html.innerHTML = innerHtml;
		$('#cartResults').html(innerHtml);
	}
	/*
	html = document.getElementById('webPriceTag');
	if (html != null) html.innerHTML = currency_defaultCur + totalPrice;
	
	html = document.getElementById('plPriceTag');
	if (html != null) html.innerHTML = currency_defaultCur + totalPrice1;
	 */
	$('#webPriceTag').text(currency_defaultCur + totalPrice);
	$('#plPriceTag').text(currency_defaultCur + totalPrice);

	$("#cartResults_build").html(innerHtml);
	$("#sBuild_table").hide();
	if( show_total_price == true )
	{
		$("#build_price").text(currency_defaultCur + totalPrice);
		$("#sBuild_table").show();
	}
}

function hideTableRowsById(id)
{
	var obj = document.getElementById(id);
	if (obj) {
		var childObj;
		var length=obj.rows.length;
		for (var i=0; i<length; i++) {
			childObj=obj.rows[i];
	
			if (childObj) {
				if (childObj.id=="dispSwitch") {
					if (childObj.style.display == "none")
					 childObj.style.display = "";
					else childObj.style.display = "none";
				}
			}
		}
	}
}

// START functions for ipal

function body_removeChild(cName)
{
	// REMOVE  INSTANCE OF ELEMENT FROM BODY
	if (document.getElementById("popIframe_"+cName))
	{
		document.body.removeChild(document.getElementById("popIframe_"+cName));
	}
}

function changeTabTypes(curTab)
{
	// HEADER - MENU -> CHANGE MENU TABS CLASSES
	for (i=0;i<mainManu_totalTabs;i++)
	{
		if (i==curTab)
		{
			document.getElementById('menuTab_'+i).className="menuTab_selected";
			document.getElementById('menuTab_'+i).tabType="menuTab_selected";
		}
		else
		{
			document.getElementById('menuTab_'+i).className="menuTab_out";
			document.getElementById('menuTab_'+i).tabType="menuTab_out";
		}
	}
}

function framePopup(fName, fWidth,fHeight, fSrc, fSrcVars, fCenter)
{
	body_removeChild(fName);
	topVar=(window.innerHeight)?((window.innerHeight / 2)-(fHeight/2)):((document.body.clientHeight / 2)-(fHeight/2));
	leftVar=(window.innerWidth)?((window.innerWidth / 2)-(fWidth/2)):((document.body.clientWidth / 2)-(fWidth/2));

	oFrame=document.createElement("IFRAME");
	oFrame.setAttribute("src", "blank.html");
	oFrame.setAttribute("scrolling","no");
	oFrame.setAttribute("id","popIframe_"+fName);
	oFrame.setAttribute("name","popIframe_"+fName);
	document.body.appendChild(oFrame);
	oFrame.style.width = fWidth;
	oFrame.style.height=fHeight;
	oFrame.style.position="absolute";
	if (fCenter)
	{
		oFrame.style.top=topVar;
		oFrame.style.left=leftVar;
	}
	oFrame.style.frameBorder = "0";
//	oFrame.src="popupFrame.php?src="+fSrc+"&iframeName="+fName+"&"+fSrcVars;
	oFrame.src=fSrc+"?"+fSrcVars;
}

function fPop(fName, fWidth,fHeight, fSrc, fSrcVars, fCenter)
{
	if (!navigator.appName.indexOf("Microsoft")) fWidth+=20;
	if (fCenter)
	{
		topVar=((screen.height / 2)-(fHeight/2));
		leftVar=((screen.width / 2)-(fWidth/2));
	}
	popUrl="popupFrame.php?src="+fSrc+"&iframeName="+fName+"&"+fSrcVars
	window.open(popUrl, "PopUp", "height="+fHeight+", width="+fWidth+", top="+topVar+", left="+leftVar+", scrollbars=yes, status=no, location=no, resizable =yes, menubar=no, titlebar=no, toolbar=no");
}


function AddTable(targetID, tableID, tableClass)
{
//GENERAL FUNCTION FOR CREATING TABLE USING DOM
	
	var oTable = "<table name='"+tableID+"' class='"+tableClass+"' id='"+tableID+"' cellSpacing='0'>" +
					"<thead id='tbhead_"+tableID+"'></thead>" +
					"<tbody id='tbbody0_"+tableID+"'></tbody>" +
					"<tbody id='tbbody1_"+tableID+"'></tbody>" +
					"<tfoot id='tbfoot_"+tableID+"'></tfoot>" +
					"<caption></caprion>" +
				"</table>";
	
	$('#'+targetID).append($(oTable));
	/*
	var menuTarget = $('#'+targetID);
	
//------------------------
	/*
	var oTable = $('#'+targetID).add("table").attr({"id":tableID, 'class':'header', 'id':tableID, 'cellSpacing':'0'});
	var oTHead = $('#'+tableID).add("thead").attr("id",'tbhead_'+tableID);
	var oTBody0 = $('#'+tableID).add("tbody").attr("id",'tbbody0_'+tableID);
	var oTBody1 = $('#'+tableID).add("tbody").attr("id",'tbbody1_'+tableID);
	var oTFoot = $('#'+tableID).add("tfoot").attr("id",'tbfoot_'+tableID);
	var oCaption = $('#'+tableID).add("caption");
	//$('#sideMenu_table').append($('#'+targetID));
	 */
//------------------------	
	/*
	var oTable = $('#'+targetID).add("table").attr({"id":tableID, 'class':'header', 'id':tableID, 'cellSpacing':'0'});
	var oTHead = $('#'+tableID).append("thead").attr("id",'tbhead_'+tableID);
	var oTBody0 = $('#'+tableID).append("tbody").attr("id",'tbbody0_'+tableID);
	var oTBody1 = $('#'+tableID).append("tbody").attr("id",'tbbody1_'+tableID);
	var oTFoot = $('#'+tableID).append("tfoot").attr("id",'tbfoot_'+tableID);
	var oCaption = $('#'+tableID).append("caption");
	console.log(oTable);
	*/
//------------------------	
	/*
	var menuTarget = document.getElementById(targetID);
	
	var oTable = document.createElement("TABLE");
	var oTHead = document.createElement("THEAD");
	var oTBody0 = document.createElement("TBODY");
	var oTBody1 = document.createElement("TBODY");
	var oTFoot = document.createElement("TFOOT");
	var oCaption = document.createElement("CAPTION");

	menuTarget.appendChild(oTable);
	oTable.appendChild(oTHead);
	oTable.appendChild(oTBody0);
	oTable.appendChild(oTBody1);
	oTable.appendChild(oTFoot);
	oTable.appendChild(oCaption);

	oTable.setAttribute('name',tableID);
	oTable.setAttribute('id',tableID);
	oTable.setAttribute('cellSpacing',0);
	oTable.setAttribute('class',tableClass);
	oTBody0.setAttribute('id','tbbody0_'+tableID);
	oTHead.setAttribute('id','tbhead_'+tableID);
	oTBody1.setAttribute('id','tbbody1_'+tableID);
	oTFoot.setAttribute('id','tbfoot_'+tableID);
	*/
	return oTable;
}

var currentMenu;
function create_sideMenu(mainMenu, menuID, targetID)
{
	// SIDE MENU -> FUNCTION FOR CREATING SIDE MENU USING AJAX
	// Get side menu information via Ajax;
	if (currentMenu != menuID)
	{
		currentMenu=menuID;
		document.getElementById(targetID).innerHTML="";
		//var url = "xml_getMenuData.php?ipalLang="+siteLang+"&menuID="+menuID+"&mainMenu="+mainMenu;
		var url = aePHP+"?action=xml_getMenuData&ipalLang="+siteLang+"&menuID="+menuID+"&mainMenu="+mainMenu;

		var xml = LoadXML(url);
		if(xml != null && xml.getElementsByTagName('total_items')[0].firstChild.data > 0)
		{
			var menuTable = AddTable (targetID, "sideMenu_table", "sideMenu");
			
			var cell_1_text = xml.getElementsByTagName('menu_name')[0].firstChild.data;
			var titleRow = "<tr class='titleRow'>" +
								"<td class='title_center'>"+cell_1_text+"</td>" +
								"<td class='title_side'></td>" +
							"</tr>";
			
			$("#sideMenu_table thead").append(titleRow);
			
			totalLines = xml.getElementsByTagName('total_items')[0].firstChild.data;
			for( i=0 ; i<=totalLines ; i++ )
			{
				itemCode = xml.getElementsByTagName('item_'+i+'_menuCode')[0].firstChild.data;
				rowClass = (curItem==itemCode)? "sideMenu_on" : "sideMenu_off";
				
				curCode = xml.getElementsByTagName('item_'+i+'_menuCode')[0].firstChild.data;
				
				var curRow = $("#tbbody0_sideMenu_table").append("<tr><td colspan='2' id='menu_"+curCode+"' defClass='"+rowClass+"'></td></tr>");
				var curCell = $("#menu_"+curCode);
			
				$(curCell).text(xml.getElementsByTagName('item_'+i+'_name')[0].firstChild.data);
				
				if (xml.getElementsByTagName('item_'+i+'_menuLink')[0].firstChild.data == "none")
				{
					$(curCell).attr({'class':'sideMenu_title'});
				}
				else
				{
					$(curCell).attr({'menuHref':xml.getElementsByTagName('item_'+i+'_menuLink')[0].firstChild.data});
					$(curCell).attr({'class':rowClass});
					
					$(curCell).click(function(){
						location.href = $(this).attr('menuHref');
					});
					
					if (curItem != itemCode)
					{
						$(curCell).hover(function(){
							$(this).attr({'class':'sideMenu_on'});
						},function(){
							def_class = $(this).attr('defClass');
							$(this).attr({'class':def_class});
						});
					}
				}
				
				if (curCode.indexOf('files_') > -1)
				{
					// for any files menu, get count of new messages, and display them
					//var count_url = "xml_countCstFiles.php?menuID="+curCode;
					var count_url = aePHP+"?action=xml_countCstFiles&menuID="+curCode;
//					window.clipboardData.setData('Text',url);
					var count_xml = LoadXML(count_url);
					if(count_xml != null && count_xml.getElementsByTagName('rsp_stat')[0].firstChild.data == "true")
					{
						curCell_text = "<span>"+xml.getElementsByTagName('item_'+i+'_name')[0].firstChild.data+"</span>"+
										"<span class='bordoBold'> [ "+count_xml.getElementsByTagName('rsp_count')[0].firstChild.data+" "+_new+" ]</span>";
						
						$(curCell).text(curCell_text);
					}
				}
				
				var sepRow = "<tr><td colspan='2' class='rowSep'></td></tr>";
				$("#tbbody0_sideMenu_table").append(sepRow);
			}
		}
	}
}

function printIframe(iframeID)
{
	window.opener.document.frames(iframeID).print();
}

function changeFileStat(menuID, fileID, fileStat, rowId)
{
	if (fileStat=="n")
	{
		//var url = "xml_changeFileStat.php?id="+fileID+"&stat=r";
		var url = aePHP+"?action=xml_changeFileStat&id="+fileID+"&stat=r";
		var xml = LoadXML(url);
		var response = xml.getElementsByTagName('rsp_stat')[0].firstChild.data;
		if (response)
		{
			document.getElementById("row_"+rowId).className="";
			document.getElementById("fStat_"+rowId).innerText=_read;
			menuCell = document.getElementById("menu_"+menuID);
			sideMenu_changeCount(menuCell, menuID);
		}
	}
}

function sideMenu_changeCount(curCell, menuID)
{
	//var url = "xml_getMenuData.php?ipalLang="+siteLang+"&menuID="+menuID+"&mainMenu="+menuID;
	var url = aePHP+"?action=xml_getMenuData&ipalLang="+siteLang+"&menuID="+menuID+"&mainMenu="+menuID;
	var xml = LoadXML(url);
	if(xml != null)
	{
		curCell.innerText = xml.getElementsByTagName('menu_name')[0].firstChild.data;
		curCode = xml.getElementsByTagName('menu_menuCode')[0].firstChild.data;
		if (curCode.indexOf('files_') > -1)
		{
			// for any files menu, get count of new messages, and display them
			var count_url = aePHP+"?action=xml_countCstFiles.php&menuID="+curCode;
			var count_xml = LoadXML(count_url);
			if(count_xml != null && count_xml.getElementsByTagName('rsp_stat')[0].firstChild.data == "true")
			{
				curCell.innerHTML = 	"<span>"+xml.getElementsByTagName('menu_name')[0].firstChild.data+"</span>"+
										"<span class=bordoBold> [ "+count_xml.getElementsByTagName('rsp_count')[0].firstChild.data+" "+_new+" ]</span>";

			}
		}
		// UPDATE MAIL BOX
		if (menuID == "files_mail" && document.getElementById("sideBox_mail").innerHTML != "")
		{
			if (parseFloat(count_xml.getElementsByTagName('rsp_count')[0].firstChild.data) < 1)
				document.getElementById("sideBox_mail").innerHTML = "";
			else
				document.getElementById("cstFilesCount").innerText = count_xml.getElementsByTagName('rsp_count')[0].firstChild.data;
		}
	}
}

function checkAll(formName)
{
	curForm=document[formName];
	checkStat = (checkStat)?false:true;
	var fileSelect = document.getElementsByName('fileSelect[]');
	for(i=0; i < fileSelect.length; i++)
		fileSelect[i].checked=checkStat;
}

function files_toTrash(formName)
{
	curForm=document[formName];
	checkStat=false;
	var fileSelect = document.getElementsByName('fileSelect[]');
	for(i=0; i < fileSelect.length; i++)
	{
		if (fileSelect[i].checked)
		{
			checkStat=true;
			break;
		}
	}
	if (!checkStat)
		alert (_noFilesToDelete);
	else
	{
		delConfirm = confirm(_confirmDelete);
		if (delConfirm)
		{
			oTable=document.getElementById("filesTable");
			for(i=0; i < fileSelect.length; i++)
			{
				if (fileSelect[i].checked)
				{
					//var url = "xml_changeFileStat.php?id="+fileSelect[i].id+"&stat=t";
					var url = aePHP+"?action=xml_changeFileStat&id="+fileSelect[i].id+"&stat=t";
					var xml = LoadXML(url);
					var response = xml.getElementsByTagName('rsp_stat')[0].firstChild.data;
					if (response)
					{
						oRow=document.getElementById("row_"+(i+1)).rowIndex;
						oTable.deleteRow(oRow);
					}
				}
			}
			document.getElementById("trashImg").src=_garbage.src;
			document.getElementById("trashImg").alt=_garbage_full;
			document.getElementById("trashText_else").innerHTML="<a href='javascript:void(0);' onClick='files_emptyTrash(\"empty\")'>"+_empty_garbage+"</a> | "+
																		"<a href='javascript:void(0);' onClick='files_emptyTrash(\"restore\")'>"+_restore_garbage+"</a>";
		}
	}
}

function files_emptyTrash(eType)
{
	if (eType=="restore")
	{
		//var url = "xml_restoreFiles.php?fGroup="+fGroup;
		var url = aePHP+"?action=xml_restoreFiles&fGroup="+fGroup;
		var xml = LoadXML(url);
		var response = xml.getElementsByTagName('rsp_stat')[0].firstChild.data;
		if (response)
		{
			location.reload();
		}
	}
	else if (eType=="empty")
	{
		dConfim=confirm(_confirmDelete2);
		if (dConfim)
		{
			//var url = "xml_emptyFiles.php?fGroup="+fGroup;
			var url = aePHP+"?action=xml_emptyFiles&fGroup="+fGroup;
			var xml = LoadXML(url);
			var response = xml.getElementsByTagName('rsp_stat')[0].firstChild.data;
			if (response)
			{
				document.getElementById("trashImg").src=_garbage_empty.src;
				document.getElementById("trashImg").alt=_garbage;
				document.getElementById("trashText_else").innerHTML = "";
			}
		}
	}
}

preloadStat = 0;
function showPreload()
{
	if( preloadStat )
	{
		hideJquery_preload();
		preloadStat = 0;
	}
	else
	{
		showJquery_preload();
		preloadStat = 1;
	}	
		
	
	//FUNCTION FOR DISPLAYING PRELOAD DIV
	/*
	curDiv = document.getElementById("preloaderDiv");
	if (curDiv.style.display=="none")
	{
		winW = 0;
		winH = 0;
		if (parseInt(navigator.appVersion)>3) {
		 if (navigator.appName=="Netscape") {
		  winW = window.innerWidth;
		  winH = window.innerHeight;
		 }
		 if (navigator.appName.indexOf("Microsoft")!=-1) {
		  winW = document.body.offsetWidth;
		  winH = document.body.offsetHeight;
		 }
		}
		curDiv.style.posTop = (winH/2)-35+document.body.scrollTop;
		curDiv.style.posLeft = (winW/2)-93;
		curDiv.style.display="inline";
		preloadStat = 1;
	}
	else
	{
		curDiv.style.display="none";
		preloadStat = 0;
	}
	*/
}

function expandReport(domc, cstID, rootPath, rowConstant, rowLevel, zeroMult, searchDates, totalDates)
{
	// FUNCTION FOR BUILDING NEW ROWS ON BASIC REPORT (LIKE PNL)
	totalDates = parseFloat(totalDates);
	rowLevel = parseFloat(rowLevel);
	var cColspan = (totalDates*2)+1;

	var parentRow = document.getElementById(rowConstant+domc).rowIndex+1;
	var treeImg = document.getElementById(rowConstant+'openButton_'+domc);
	curTable = document.getElementById('reportsTable');
	if (treeImg.src == tree_minus.src)
	{
		if (document.getElementById(rowConstant+(domc+1)) != null)
		{
			deleteTo = document.getElementById(rowConstant+(domc+1)).rowIndex-1;
			lastRow = curTable.rows[deleteTo-1];
			
			totalBalance = new Array();
			totalPercent = new Array();
			cCount=0;
			lastRow_childs = $(lastRow).children();
			for (c=1; c <= totalDates; c++)
			{
				//totalBalance[c] = lastRow.children[++cCount].innerText;
				//totalPercent[c] = lastRow.children[++cCount].innerText;
				totalBalance[c] = $(lastRow_childs[++cCount]).text();
				totalPercent[c] = $(lastRow_childs[++cCount]).text();
			}
		}
		else
			deleteTo = curTable.rows.length-1;
		
		for( i=parentRow ; i<deleteTo ; i++ )
		{
			rowID = curTable.rows[parentRow].id;
			if( rowID.indexOf(rowConstant) == -1 )
				break;
			else
				curTable.deleteRow(parentRow);
		}
		if(lastRow)
		{
			cCount = 0;
			rowConstant_domc = $("#"+rowConstant+domc).children();
			for( c=1; c <= totalDates; c++ )
			{
				//document.getElementById(rowConstant+domc).children[++cCount].innerText = totalBalance[c];
				//document.getElementById(rowConstant+domc).children[++cCount].innerText = totalPercent[c];
				$(rowConstant_domc[++cCount]).text(totalBalance[c]);
				$(rowConstant_domc[++cCount]).text(totalPercent[c]);
			}
		}
		treeImg.src = tree_plus.src;
	}
	else
	{
		if( !preloadStat )
		{
			showPreload();
			setTimeout("expandReport('"+domc+"','"+cstID+"', '"+rootPath+"', '"+rowConstant+"','"+rowLevel+"', '"+zeroMult+"', '"+searchDates+"', '"+totalDates+"')", 200);
		}
		else
		{
			//var url = "xml_expandReport.php?showZero=0&tree_cstID="+cstID+"&tree_rootPath="+rootPath+"&zeroMult="+zeroMult+"&searchDates="+searchDates+"&totalDates="+totalDates;
			var url = aePHP+"?action=xml_expandReport&showZero=0&tree_cstID="+cstID+"&tree_rootPath="+rootPath+"&zeroMult="+zeroMult+"&searchDates="+searchDates+"&totalDates="+totalDates;
	//		window.clipboardData.setData('Text',url);
			var xml = LoadXML(url);
			if(xml != null)
			{
				if (xml.getElementsByTagName('mysql_error')[0].firstChild.data != '0')
					alert (xml.getElementsByTagName('mysql_error')[0].firstChild.data);
				treeImg.src=tree_minus.src;
				valueArray = new Array("fullName", "accountBalance", "balance_percent");
				for (val=0;val<xml.getElementsByTagName('total')[0].firstChild.data;val++)
				{
					var curRow = curTable.insertRow(parentRow+val);
					curRow.setAttribute("id", rowConstant+domc+"_"+val+"_sep");
					curCell = curRow.insertCell(-1);
					curCell.setAttribute('colSpan',cColspan);
					curCell.setAttribute('class','rowSep_2');
					parentRow++;
					var curRow = curTable.insertRow(parentRow+val);
					curRow.setAttribute("id", rowConstant+domc+"_"+val);
					curRow.setAttribute("domc", domc);
					curRow.setAttribute("val", val);
					//row_rollOver = function(){this.className="rollOver";}
					//row_rollOut = function(){if (!this.isCalc)this.className="";}
					row_rollOver = 'this.className="rollOver";';
					row_rollOut = 'if (!this.isCalc)this.className="";';
					curRow.setAttribute("onmouseover", row_rollOver);
					curRow.setAttribute("onmouseout", row_rollOut);
					isParent = xml.getElementsByTagName('isParent_'+val)[0].firstChild.data;
					isCst = xml.getElementsByTagName('isCst_'+val)[0].firstChild.data;
					curBalance = xml.getElementsByTagName('accountBalance_'+val)[0].firstChild.data;
					curAccountID = (xml.getElementsByTagName('accountID_'+val)[0].firstChild)?xml.getElementsByTagName('accountID_'+val)[0].firstChild.data:"";

					// ADD FIRST CELL FOR ALL DATES
					curCell = curRow.insertCell(-1);
					curValue = xml.getElementsByTagName(valueArray[0]+"_"+val)[0].firstChild.data;
					if (curValue == "none") curValue = "";
					if (isParent!=0 && isCst==0)
					{
						curCell.style.paddingRight = ((rowLevel+1)*15)+"px";
						curCell.innerHTML = "<img src='"+tree_plus.src+"' class=imgLink id='"+rowConstant+domc+"_openButton_"+val+"' alt='"+_open_+"' onClick='expandReport ("+val+", \""+xml.getElementsByTagName('tree_id_'+val)[0].firstChild.data+"\", \""+rootPath+"\", \""+rowConstant+domc+"_\", "+(rowLevel+1)+")'> ";
						cstID = xml.getElementsByTagName('tree_id_'+val)[0].firstChild.data;
						curCell.innerHTML+="<a href='javascript:expandReport ("+val+", \""+xml.getElementsByTagName('tree_id_'+val)[0].firstChild.data+"\", \""+rootPath+"\", \""+rowConstant+domc+"_\", "+(rowLevel+1)+")' title = \""+_accountID+": "+curAccountID+"\">"+curValue+"</a>";
					}
					else if (isCst==0)
					{
						curCell.style.paddingRight = ((rowLevel+1)*15)+"px";
						curCell.innerHTML = "<img src='"+tree_x.src+"' class=imgLink alt='"+_empty_+"' > ";
						curCell.innerHTML += "<a href='javascript:void(0);' style='text-decoration:none;'  title = \""+_accountID+": "+curAccountID+"\">"+curValue+"</a>";
					}
					else
					{
						curCell.style.paddingRight = ((rowLevel+1)*15)+"px";
						cstID = xml.getElementsByTagName('tree_id_'+val)[0].firstChild.data;
						curCell.innerHTML += "<a href='javascript:void(0);' onClick='fPop(\"cst_expense\", 900,600,\"cst_expense.php\",\"account="+xml.getElementsByTagName('tree_id_'+val)[0].firstChild.data+"\",true);' class=black  title = \""+_accountID+": "+curAccountID+"\">"+curValue+"</a>";
					}

					// ADD BALANCE AND PERCENT CELLS FOR ALL DATES
					for( c=1; c <= totalDates; c++ )
					{
						for( i=1 ; i<valueArray.length ; i++ )
						{
							// BUILD ROWS FOR GROUP CARD OR CST CARDS
							if( isParent > 0 || c>1 )
							{
								//var url = "xml_getGroupBalance.php?tree_cstID="+xml.getElementsByTagName('tree_id_'+val)[0].firstChild.data+"&tree_rootPath="+rootPath+"&zeroMult="+zeroMult+"&searchDates="+searchDates+"&totalDates="+totalDates+"&cDate="+c;
								var url = aePHP+"?action=xml_getGroupBalance&tree_cstID="+xml.getElementsByTagName('tree_id_'+val)[0].firstChild.data+"&tree_rootPath="+rootPath+"&zeroMult="+zeroMult+"&searchDates="+searchDates+"&totalDates="+totalDates+"&cDate="+c;
	//							window.clipboardData.setData('Text',url);
								var balanceXml = LoadXML(url);
								if(balanceXml != null)
									curBalance = balanceXml.getElementsByTagName('accountBalance')[0].firstChild.data
								else
									curBalance = 0;
							}

							curCell = curRow.insertCell(-1);
							curCell.setAttribute("class", "accountBalance");
							curCell.setAttribute("noWrap", "noWrap");
							if( valueArray[i]=="balance_percent" )
							{
								curCell.setAttribute("id",  rowConstant+domc+"_"+val+"_percent_"+c);
								curValue = "none";
								curTotal = eval("incomeTotal_"+c);
								reportForm_showPercent(curTotal, curBalance, rowConstant+domc+"_"+val+"_percent_"+c);
							}
							else if (valueArray[i] == "accountBalance")
								curValue = curBalance;
							else
								curValue = xml.getElementsByTagName(valueArray[i]+"_"+val)[0].firstChild.data;

							if (curValue == "none") curValue = "";

							if (curValue != "" && valueArray[i] != "balance_percent")
							{
								//curCell.innerText=curValue;
								$(curCell).text(curValue);
							}
						}
					}
				}

			}

			// GET FIRST ROW'S TOTAL BALANCE AND PERCENT, RESET ON FIRST ROW AND CREATE TOTAL ROW AT BOTTOM
			var startRow =$("#"+rowConstant+domc);
			var startRow_childs =$("#"+rowConstant+domc).children();
			var totalName = $(startRow_childs[0]).children(1).text();
			//console.log(startRow_childs[0]);
			
			//var startRow = document.getElementById(rowConstant+domc);
			//totalName = startRow.children[0].children[1].innerText
		
			totalBalance = new Array();
			totalPercent = new Array();
			balanceClass = new Array();
			cCount=0;
			for (c=1; c <= totalDates; c++)
			{
				/*
				totalBalance[c] = startRow.children[++cCount].innerText;
				[c] = startRow.children[cCount].className;
				startRow.children[cCount].innerText = "";
				totalPercent[c] = startRow.children[++cCount].innerText;
				startRow.children[cCount].innerText = "";
				*/
				totalBalance[c] = $(startRow_childs[++cCount]).text();
				balanceClass[c] = $(startRow_childs[cCount]).attr('class');
				$(startRow_childs[cCount]).text("");
				totalPercent[c] = $(startRow_childs[++cCount]).text();
				$(startRow_childs[cCount]).text("");
			}

			var curRow = curTable.insertRow(parentRow+val);
			curRow.setAttribute("id", rowConstant+domc+"_"+val+"_sep");
			curCell = curRow.insertCell(-1);
			curCell.setAttribute('colSpan',cColspan);
			curCell.setAttribute('class','rowSep_2');
			parentRow++;
			var curRow = curTable.insertRow(parentRow+val);
			curRow.setAttribute("class","totalRow");
			curRow.setAttribute("id", rowConstant+domc+"_"+val);
			curRow.setAttribute("domc", domc);
			curRow.setAttribute("val", val);
			curCell = curRow.insertCell(-1);
			curCell.setAttribute('align','left');
			//curCell.innerText = _total+" "+totalName;
			$(curCell).text(_total+" "+totalName);
			for (c=1; c <= totalDates; c++)
			{
				curCell = curRow.insertCell(-1);
				curCell.setAttribute("class", balanceClass[c]);
				//curCell.innerText = totalBalance[c];
				$(curCell).text(totalBalance[c]);
				curCell = curRow.insertCell(-1);
				curCell.setAttribute("class", "accountBalance");
				//curCell.innerText = totalPercent[c];
				$(curCell).text(totalPercent[c]);
			}

			showPreload();
		}
	}
}

function reportsForm_highlightGroup(groupName, groupNum, class_name)
{
	// FUNCTION FOR HIGHLIGHTING GROUP OF FORM INPUT FIELDS TOGATHER
	for (i=groupNum; i>0; i--)
		document.getElementById(groupName+"_"+i).className = class_name;
}

function reportsForm_updateNumFields(groupName, groupNum)
{
	newNumber = reportsForm_getNumber(groupName, groupNum);
	reportsForm_insertNumber(groupName, groupNum, newNumber);
}

function reportsForm_getNumber(groupName, groupNum)
{
	// FUNCTION FOR RETREIVING NUMBER BUILT FROM ALL FIELDS
	newNumber = 0;
	for (i=groupNum; i>0; i--)
		if (document.getElementById(groupName+"_"+i).value != "")
			newNumber += document.getElementById(groupName+"_"+i).value;
	return parseFloat(newNumber);
}

function reportsForm_insertNumber(groupName, groupNum, newNumber)
{
	numberArray = new Array();
	newNumber = newNumber.toString();
	for (i=0; i<newNumber.length;  i++)
	{
		if (i<groupNum)
			numberArray[(i+1)] = newNumber.substr(i,1);
	}

	numberArray.reverse();
	for (i=1;i<groupNum+1; i++)
		if (numberArray[(i-1)])
			document.getElementById(groupName+"_"+i).value=numberArray[(i-1)];
		else
			document.getElementById(groupName+"_"+i).value="";
}

function reportsForm_recalcTotal(groupName, groupNum)
{
	// RECALC	ULATE TOTAL FOR ADVANCE PAYMENT FORM
	deduction_man = reportsForm_getNumber("deduction_man", 9);
	adv_fromCirc = reportsForm_getNumber("adv_fromCirc", 9);
	newValue = Math.round(adv_fromCirc-deduction_man);
	reportsForm_insertNumber("payTotal",10,newValue);
}

function reportForm_showPercent(num_total, num_current, element_id)
{
	num_current = String(num_current);
	num_total = String(num_total);
	if (num_current.search(",") > -1 ) num_current = num_current.replace(",","");
	if (num_total.search(",") > -1 ) num_total = num_total.replace(",","");
	percent = (parseFloat(num_current)/parseFloat(num_total)) * 100;
	percent = percent.toFixed(2);
	percent += "%";
	//document.getElementById(element_id).innerText = percent;
	$("#"+element_id).text(percent);
}

function payForm_fType(fType)
{
	//PAGE: Payment Report Form.php
	// HIDE OR DISPLAY EXTRA OPTIONS ON FORM
	switchElementDisplay('fSelectDiv_'+fType);
	if (fType!="open" && document.getElementById("fSelectDiv_open"))
		document.getElementById('fSelectDiv_open').style.display="none";
	if (fType!="old" && document.getElementById("fSelectDiv_old"))
		document.getElementById('fSelectDiv_old').style.display="none";
	if (fType!="new" && document.getElementById("fSelectDiv_new"))
		document.getElementById('fSelectDiv_new').style.display="none";

}

function expandReport_2(domc, cstID, rootPath, rowConstant, rowLevel, zeroMult, searchDates)
{
// FUNCTION FOR BUILDING NEW ROWS REPORTS WITH STRUCTURE OF CREDIT/DEBIT/BALANCE (LIKE MAAZAN)
	rowLevel = parseFloat(rowLevel);
	var parentRow = document.getElementById(rowConstant+domc).rowIndex+1;
	var treeImg =  document.getElementById(rowConstant+'openButton_'+domc);
	curTable = document.getElementById('reportsTable');
	if (treeImg.src==tree_minus.src)
	{
		
		if (document.getElementById(rowConstant+(domc+1)) != null)
		{
			deleteTo = document.getElementById(rowConstant+(domc+1)).rowIndex-1;
			var lastRow = curTable.rows[deleteTo-1];
			var lastRow_childs = $(curTable.rows[deleteTo-1]).children();
			/*
			totalCredit = lastRow.children[1].innerText;
			totalDebit = lastRow.children[2].innerText;
			totalBalance = lastRow.children[3].innerText;
			*/
			totalCredit = $(lastRow_childs[1]).text();
			totalDebit = $(lastRow_childs[2]).text();
			totalBalance = $(lastRow_childs[3]).text();
		}
		else
			deleteTo = curTable.rows.length-1;
		for(i=parentRow;i<deleteTo;i++)
		{
			rowID = curTable.rows[parentRow].id;
			if (rowID.indexOf(rowConstant) == -1)
				break;
			else
				curTable.deleteRow(parentRow);
		}
		if (lastRow)
		{
			var row_constant = curTable.rows[deleteTo-1];
			var row_constant_childs = $("#"+rowConstant+domc).children();
			/*
			document.getElementById(rowConstant+domc).children[1].innerText = totalCredit;
			document.getElementById(rowConstant+domc).children[2].innerText = totalDebit;
			document.getElementById(rowConstant+domc).children[3].innerText = totalBalance;
			*/
			$(row_constant_childs[1]).text(totalCredit);
			$(row_constant_childs[2]).text(totalDebit);
			$(row_constant_childs[3]).text(totalBalance);
			
		}
		treeImg.src=tree_plus.src;
	}
	else
	{
		if (!preloadStat)
		{
			showPreload();
			setTimeout("expandReport_2('"+domc+"','"+cstID+"', '"+rootPath+"', '"+rowConstant+"','"+rowLevel+"', '"+zeroMult+"', '"+searchDates+"')", 200);
		}
		else
		{
			//var url = "xml_expandReport.php?showZero=0&tree_cstID="+cstID+"&tree_rootPath="+rootPath+"&zeroMult="+zeroMult+"&searchDates="+searchDates;
			var url = aePHP+"?action=xml_expandReport&showZero=0&tree_cstID="+cstID+"&tree_rootPath="+rootPath+"&zeroMult="+zeroMult+"&searchDates="+searchDates;
//			window.clipboardData.setData('Text',url);

			var xml = LoadXML(url);
			if(xml != null)
			{
				if (xml.getElementsByTagName('mysql_error')[0].firstChild.data != '0')
					alert (xml.getElementsByTagName('mysql_error')[0].firstChild.data);
				treeImg.src=tree_minus.src;
				valueArray = new Array("fullName", "accountCredit", "accountDebit", "accountBalance");
				for (val=0;val<xml.getElementsByTagName('total')[0].firstChild.data;val++)
				{
					var curRow = curTable.insertRow(parentRow+val);
					curRow.setAttribute("id", rowConstant+domc+"_"+val+"_sep");
					curCell = curRow.insertCell(-1);
					curCell.setAttribute('colSpan','4');
					curCell.setAttribute('class','rowSep_2');
					parentRow++;
					var curRow = curTable.insertRow(parentRow+val);
					curRow.setAttribute("id", rowConstant+domc+"_"+val);
					curRow.setAttribute("domc", domc);
					curRow.setAttribute("val", val);
					//row_rollOver = function(){this.className="rollOver";}
					//row_rollOut = function(){if (!this.isCalc)this.className="";}
					row_rollOver = 'this.className="rollOver";';
					row_rollOut = 'if (!this.isCalc) this.className="";';
					curRow.setAttribute("onmouseover", row_rollOver);
					curRow.setAttribute("onmouseout", row_rollOut);
					isParent = xml.getElementsByTagName('isParent_'+val)[0].firstChild.data;
					isCst = xml.getElementsByTagName('isCst_'+val)[0].firstChild.data;
					curBalance = xml.getElementsByTagName('accountBalance_'+val)[0].firstChild.data;
					curAccountID = (xml.getElementsByTagName('accountID_'+val)[0].firstChild)?xml.getElementsByTagName('accountID_'+val)[0].firstChild.data:"";
					if (isParent > 0 )
					{
						//var url = "xml_getGroupBalance.php?tree_cstID="+xml.getElementsByTagName('tree_id_'+val)[0].firstChild.data+"&tree_rootPath="+rootPath+"&zeroMult="+zeroMult+"&searchDates="+searchDates;
						var url = aePHP+"?action=xml_getGroupBalance&tree_cstID="+xml.getElementsByTagName('tree_id_'+val)[0].firstChild.data+"&tree_rootPath="+rootPath+"&zeroMult="+zeroMult+"&searchDates="+searchDates;
	//					window.clipboardData.setData('Text',url);
						var balanceXml = LoadXML(url);
					}
					for (i=0;i<valueArray.length; i++)
					{
						// BUILD ROWS FOR GROUP CARD OR CST CARDS

						curCell = curRow.insertCell(-1);
						switch (valueArray[i])
						{
							case "fullName":
							break;
							default:
							curCell.setAttribute("class", valueArray[i]);
							curCell.setAttribute("noWrap", "noWrap");
							break;
						}
						if (valueArray[i] == "accountBalance" || valueArray[i] == "accountDebit" || valueArray[i] == "accountCredit")
							curValue = (balanceXml)?balanceXml.getElementsByTagName(valueArray[i])[0].firstChild.data : xml.getElementsByTagName(valueArray[i]+"_"+val)[0].firstChild.data;
						else if (xml.getElementsByTagName(valueArray[i]+"_"+val)[0])
							curValue = xml.getElementsByTagName(valueArray[i]+"_"+val)[0].firstChild.data;
						else
							curValue = "none";

						if (curValue == "none") curValue = "";

						if (!i && isParent!=0 && isCst==0)
						{
							curCell.style.paddingRight = ((rowLevel+1)*15)+"px";
							//curCell.innerHTML = "<img src='"+tree_plus.src+"' class=imgLink id='"+rowConstant+domc+"_openButton_"+val+"' alt='"+_open_+"' onClick='expandReport_2("+val+", \""+xml.getElementsByTagName('tree_id_'+val)[0].firstChild.data+"\", \""+rootPath+"\", \""+rowConstant+domc+"_\", "+(rowLevel+1)+", \""+zeroMult+"\", \""+searchDates+"\")'> ";
							cstID=xml.getElementsByTagName('tree_id_'+val)[0].firstChild.data;
							//curCell.innerHTML+="<a href='javascript:expandReport_2 ("+val+", \""+xml.getElementsByTagName('tree_id_'+val)[0].firstChild.data+"\", \""+rootPath+"\", \""+rowConstant+domc+"_\", "+(rowLevel+1)+", \""+zeroMult+"\", \""+searchDates+"\")'   title = \""+_accountID+": "+curAccountID+"\">"+curValue+"</a>";
							
							inner_html = "<img src='"+tree_plus.src+"' class=imgLink id='"+rowConstant+domc+"_openButton_"+val+"' alt='"+_open_+"' onClick='expandReport_2("+val+", \""+xml.getElementsByTagName('tree_id_'+val)[0].firstChild.data+"\", \""+rootPath+"\", \""+rowConstant+domc+"_\", "+(rowLevel+1)+", \""+zeroMult+"\", \""+searchDates+"\")'> ";
							inner_html += "<a href='javascript:expandReport_2 ("+val+", \""+xml.getElementsByTagName('tree_id_'+val)[0].firstChild.data+"\", \""+rootPath+"\", \""+rowConstant+domc+"_\", "+(rowLevel+1)+", \""+zeroMult+"\", \""+searchDates+"\")'   title = \""+_accountID+": "+curAccountID+"\">"+curValue+"</a>";
							$(curCell).html(inner_html);
						}
						else if (!i && isCst==0)
						{
							curCell.style.paddingRight = ((rowLevel+1)*15)+"px";
							//curCell.innerHTML = "<img src='"+tree_x.src+"' class=imgLink alt='"+_empty_+"' > ";
							//curCell.innerHTML+="<a href='javascript:void(0);' style='text-decoration:none;'  title = \""+_accountID+": "+curAccountID+"\">"+curValue+"</a>";
						
							inner_html = "<img src='"+tree_x.src+"' class=imgLink alt='"+_empty_+"' > ";
							inner_html += "<a href='javascript:void(0);' style='text-decoration:none;'  title = \""+_accountID+": "+curAccountID+"\">"+curValue+"</a>";
							$(curCell).html(inner_html);
						}
						else if (!i)
						{
							curCell.style.paddingRight = ((rowLevel+1)*15)+"px";
							cstID=xml.getElementsByTagName('tree_id_'+val)[0].firstChild.data;
							//curCell.innerHTML+="<a href='javascript:void(0);' onClick='fPop(\"cst_expense\", 900,600,\"cst_expense.php\",\"account="+xml.getElementsByTagName('tree_id_'+val)[0].firstChild.data+"&searchDates="+searchDates+"\",true);' class=black  title = \""+_accountID+": "+curAccountID+"\">"+curValue+"</a>";
							inner_html = "<a href='javascript:void(0);' onClick='fPop(\"cst_expense\", 900,600,\"cst_expense.php\",\"account="+xml.getElementsByTagName('tree_id_'+val)[0].firstChild.data+"&searchDates="+searchDates+"\",true);' class=black  title = \""+_accountID+": "+curAccountID+"\">"+curValue+"</a>";
							$(curCell).html(inner_html);
						}
						else
						{
							//curCell.innerText=curValue;
							$(curCell).html(curValue);
						}
					}
				}
			}
			// GET FIRST ROW'S TOTAL BALANCE NUMBERS, RESET ON FIRST ROW AND CREATE TOTAL ROW AT BOTTOM
			/*
			var startRow = document.getElementById(rowConstant+domc);
			totalName = startRow.children[0].children[1].innerText;
			totalCredit = startRow.children[1].innerText;
			totalDebit = startRow.children[2].innerText;
			totalBalance = startRow.children[3].innerText;
			startRow.children[1].innerText = "";
			startRow.children[2].innerText = "";
			startRow.children[3].innerText = "";
			 */
		
			var startRow =$("#"+rowConstant+domc);
			var startRow_childs =$("#"+rowConstant+domc).children();
			var totalName = $(startRow_childs[0]).children(1).text();
			totalCredit = $(startRow_childs[1]).text();
			totalDebit = $(startRow_childs[2]).text();
			totalBalance = $(startRow_childs[3]).text();
			$(startRow_childs[1]).text("");
			$(startRow_childs[2]).text("");
			$(startRow_childs[3]).text("");
			
			var curRow = curTable.insertRow(parentRow+val);
			curRow.setAttribute("id", rowConstant+domc+"_"+val+"_sep");
			curCell = curRow.insertCell(-1);
			curCell.setAttribute('colSpan','4');
			curCell.setAttribute('class','rowSep_2');
			parentRow++;
			var curRow = curTable.insertRow(parentRow+val);
			curRow.setAttribute("class","totalRow");
			curRow.setAttribute("id", rowConstant+domc+"_"+val);
			curRow.setAttribute("domc", domc);
			curRow.setAttribute("val", val);
			curCell = curRow.insertCell(-1);
			curCell.setAttribute('align','left');
			//curCell.innerText = _total+" "+totalName;
			$(curCell).html(_total+" "+totalName);
			
			curCell = curRow.insertCell(-1);
			curCell.setAttribute("class", "accountCredit");
			//curCell.innerText = totalCredit;
			$(curCell).html(totalCredit);
			curCell = curRow.insertCell(-1);
			curCell.setAttribute("class", "accountDebit");
			//curCell.innerText = totalDebit;
			$(curCell).html(totalDebit);
			curCell = curRow.insertCell(-1);
			curCell.setAttribute("class", "accountBalance");
			//curCell.innerText = totalBalance;
			$(curCell).html(totalBalance);

			showPreload();
		}
	}
}

function expandCstCard(domc, versusID, cstID, totalBalance, rowConstant, rowLevel, zeroMult, searchDates)
{
// FUNCTION FOR BUILDING NEW ROWS REPORTS WITH STRUCTURE OF CREDIT/DEBIT/BALANCE (LIKE MAAZAN)
	rowLevel = parseFloat(rowLevel);
	var parentRow = document.getElementById(rowConstant+domc).rowIndex+1;
	var treeImg =  document.getElementById(rowConstant+'openButton_'+domc);
	curTable = document.getElementById('reportsTable');
	if (treeImg.src==tree_minus.src)
	{
		if (document.getElementById(rowConstant+(domc+1)) != null)
			deleteTo = document.getElementById(rowConstant+(domc+1)).rowIndex-1;
		else
			deleteTo = curTable.rows.length-1;
		for(i=parentRow;i<deleteTo;i++)
		{
			rowID = curTable.rows[parentRow].id;
			if (rowID.indexOf(rowConstant) == -1)
				break;
			else
				curTable.deleteRow(parentRow);
		}
		treeImg.src=tree_plus.src;
	}
	else
	{
		if (!preloadStat)
		{
			showPreload();
			setTimeout("expandCstCard('"+domc+"','"+versusID+"', '"+cstID+"', '"+totalBalance+"', '"+rowConstant+"','"+rowLevel+"', '"+zeroMult+"', '"+searchDates+"')", 200);
		}
		else
		{
			//var url = "xml_expandCstCard.php?totalBalance="+totalBalance+"&tree_cstID="+cstID+"&tree_versusID="+versusID+"&zeroMult="+zeroMult+"&searchDates="+searchDates;
			var url = aePHP+"?action=xml_expandCstCard&totalBalance="+totalBalance+"&tree_cstID="+cstID+"&tree_versusID="+versusID+"&zeroMult="+zeroMult+"&searchDates="+searchDates;
//			window.clipboardData.setData('Text',url);

			var xml = LoadXML(url);
			if(xml != null)
			{
				if (xml.getElementsByTagName('mysql_error')[0].firstChild.data != '0')
					alert (xml.getElementsByTagName('mysql_error')[0].firstChild.data);
				treeImg.src=tree_minus.src;
				valueArray = new Array("doc_date", "doc_valueDate", "doc_details", "doc_primary", "doc_reference", "accountCredit", "accountDebit", "accountBalance");
				for( val=0 ; val<xml.getElementsByTagName('total')[0].firstChild.data ; val++ )
				{
					var curRow = curTable.insertRow(parentRow+val);
					curRow.setAttribute("id", rowConstant+domc+"_"+val+"_sep");
					curCell = curRow.insertCell(-1);
					curCell.setAttribute('colSpan','8');
					curCell.setAttribute('class','rowSep_2');
					parentRow++;
					var curRow = curTable.insertRow(parentRow+val);
					curRow.setAttribute("id", rowConstant+domc+"_"+val);
					curRow.setAttribute("domc", domc);
					curRow.setAttribute("val", val);
					//row_rollOver = function(){this.className="rollOver";}
					//row_rollOut = function(){if (!this.isCalc)this.className="";}
					row_rollOver = 'this.className="rollOver";';
					row_rollOut = 'if (!this.isCalc) this.className="";';
					curRow.setAttribute("onmouseover", row_rollOver);
					curRow.setAttribute("onmouseout", row_rollOut);

					versusAccount = (xml.getElementsByTagName("versusAccount_"+val)[0].firstChild)?xml.getElementsByTagName("versusAccount_"+val)[0].firstChild.data:"";
					xml.getElementsByTagName('accountBalance_'+val)[0].firstChild.data = "none";

					for( i=0 ; i<valueArray.length ; i++ )
					{
						// BUILD ROWS FOR GROUP CARD OR CST CARDS

						curCell = curRow.insertCell(-1);
						curCell.setAttribute("class", valueArray[i]);
						curCell.setAttribute("noWrap", "noWrap");
						if (xml.getElementsByTagName(valueArray[i]+"_"+val)[0] && xml.getElementsByTagName(valueArray[i]+"_"+val)[0].firstChild)
							curValue = xml.getElementsByTagName(valueArray[i]+"_"+val)[0].firstChild.data.substr(0,20);
						else
							curValue = "none";

						if (curValue == "none") curValue = "";

						if (!i)
							curCell.style.paddingRight = ((rowLevel+1)*15)+"px";
						if (valueArray[i] == "doc_reference")
						{
							//curCell.innerHTML = "<span title=\""+_accountID+": "+versusAccount+"\">"+curValue+"</span>";
							$(curCell).html("<span title=\""+_accountID+": "+versusAccount+"\">"+curValue+"</span>");
						}
						else
						{
							//curCell.innerText=curValue;
							$(curCell).text(curValue);
						}
					}
				}
			}
			showPreload();
		}
	}
}

function expandCardGroups(domc, cstID, totalBalance, rowConstant, rowLevel, zeroMult, searchDates)
{
// FUNCTION FOR EXPANDING CST CARD GROUPS
	rowLevel = parseFloat(rowLevel);
	var parentRow = document.getElementById(rowConstant+domc).rowIndex+1;
	var treeImg =  document.getElementById(rowConstant+'openButton_'+domc);
	curTable = document.getElementById('reportsTable');
	if (treeImg.src==tree_minus.src)
	{
		if (document.getElementById(rowConstant+(domc+1)) != null)
			deleteTo = document.getElementById(rowConstant+(domc+1)).rowIndex-1;
		else
			deleteTo = curTable.rows.length-1;
		for(i=parentRow;i<deleteTo;i++)
		{
			rowID = curTable.rows[parentRow].id;
			if (rowID.indexOf(rowConstant) == -1)
				break;
			else
				curTable.deleteRow(parentRow);
		}
		treeImg.src=tree_plus.src;
	}
	else
	{
		if (!preloadStat)
		{
			showPreload();
			setTimeout("expandCardGroups('"+domc+"', '"+cstID+"', '"+totalBalance+"', '"+rowConstant+"','"+rowLevel+"', '"+zeroMult+"', '"+searchDates+"')", 200);
		}
		else
		{
			//var url = "xml_expandCstGroup.php?totalBalance="+totalBalance+"&tree_cstID="+cstID+"&zeroMult="+zeroMult+"&searchDates="+searchDates;
			var url = aePHP+"?action=xml_expandCstGroup&totalBalance="+totalBalance+"&tree_cstID="+cstID+"&zeroMult="+zeroMult+"&searchDates="+searchDates;
	//		window.clipboardData.setData('Text',url);

			var xml = LoadXML(url);
			if(xml != null)
			{
				if (xml.getElementsByTagName('mysql_error')[0].firstChild.data != '0')
					alert (xml.getElementsByTagName('mysql_error')[0].firstChild.data);
				treeImg.src=tree_minus.src;
				valueArray = new Array("doc_reference", "accountCredit", "accountDebit", "accountBalance");
				for (val=0;val<xml.getElementsByTagName('total')[0].firstChild.data;val++)
				{
					var curRow = curTable.insertRow(parentRow+val);
					curRow.setAttribute("id", rowConstant+domc+"_"+val+"_sep");
					curCell = curRow.insertCell(-1);
					curCell.setAttribute('colSpan','8');
					curCell.setAttribute('class','rowSep_2');
					parentRow++;
					var curRow = curTable.insertRow(parentRow+val);
					curRow.setAttribute("id", rowConstant+domc+"_"+val);
					curRow.setAttribute("domc", domc);
					curRow.setAttribute("val", val);
					
					//row_rollOver=function(){this.className="rollOver";}
					//row_rollOut=function(){if (!this.isCalc)this.className="";}
					row_rollOver = 'this.className="rollOver";';
					row_rollOut = 'if (!this.isCalc) this.className="";';
					curRow.setAttribute("onmouseover", row_rollOver);
					curRow.setAttribute("onmouseout", row_rollOut);

					versusAccount = (xml.getElementsByTagName("versusAccount_"+val)[0].firstChild)?xml.getElementsByTagName("versusAccount_"+val)[0].firstChild.data:"";
					xml.getElementsByTagName('accountBalance_'+val)[0].firstChild.data = "none";

					for (i=0;i<valueArray.length; i++)
					{
						// BUILD ROWS FOR GROUP CARD OR CST CARDS

						curCell = curRow.insertCell(-1);
						switch (valueArray[i])
						{
							case "doc_reference":
							break;
							default:
							curCell.setAttribute("class", valueArray[i]);
							curCell.setAttribute("noWrap", "noWrap");
							break;
						}
						
						if (xml.getElementsByTagName(valueArray[i]+"_"+val)[0] && xml.getElementsByTagName(valueArray[i]+"_"+val)[0].firstChild)
							curValue = xml.getElementsByTagName(valueArray[i]+"_"+val)[0].firstChild.data;
						else
							curValue = "none";

						if (curValue == "none") curValue = "";

						if (!i)
						{
							curCell.setAttribute("colSpan","5");
							curCell.style.paddingRight = ((rowLevel+1)*15)+"px";
							//curCell.innerHTML = "<img src='"+tree_plus.src+"' class=imgLink id='"+rowConstant+domc+"_openButton_"+val+"' alt='"+_open_+"' onClick='expandCstCard("+val+", \""+xml.getElementsByTagName('versusID_'+val)[0].firstChild.data+"\", \""+cstID+"\", \"0\", \""+rowConstant+domc+"_\", "+(rowLevel+1)+", \""+zeroMult+"\", \""+searchDates+"\")'> ";
							//curCell.innerHTML+="<a href='javascript:void(0);' onClick='expandCstCard("+val+", \""+xml.getElementsByTagName('versusID_'+val)[0].firstChild.data+"\", \""+cstID+"\", \"0\", \""+rowConstant+domc+"_\", "+(rowLevel+1)+", \""+zeroMult+"\", \""+searchDates+"\")'   title = \""+_accountID+": "+versusAccount+"\">"+curValue+"</a>";
							inner_html = "<img src='"+tree_plus.src+"' class=imgLink id='"+rowConstant+domc+"_openButton_"+val+"' alt='"+_open_+"' onClick='expandCstCard("+val+", \""+xml.getElementsByTagName('versusID_'+val)[0].firstChild.data+"\", \""+cstID+"\", \"0\", \""+rowConstant+domc+"_\", "+(rowLevel+1)+", \""+zeroMult+"\", \""+searchDates+"\")'> ";
							inner_html += "<a href='javascript:void(0);' onClick='expandCstCard("+val+", \""+xml.getElementsByTagName('versusID_'+val)[0].firstChild.data+"\", \""+cstID+"\", \"0\", \""+rowConstant+domc+"_\", "+(rowLevel+1)+", \""+zeroMult+"\", \""+searchDates+"\")'   title = \""+_accountID+": "+versusAccount+"\">"+curValue+"</a>";
							$(curCell).html(inner_html);
						}
						else
						{
							//curCell.innerText=curValue;
							$(curCell).html(curValue);
						}
					}
				}
			}
			showPreload();
		}
	}
}

function compPnl_addRow()
{
	//	FUNCTION FOR CREATING NEW PNL COMPARISON ROW
	//	PAGE: reports_pnl_comp.php.

	// Detect current period type from form radio buttons
	var cError = false;
	var cForm = document.datesForm;
	for (i=0;i<cForm.periodType.length; i++)
	{
		if (cForm.periodType[i].checked)
			periodType = cForm.periodType[i].value;
	}

	switch (periodType)
	{
		case "yearly":
		if (rowNum > availYears.length)
		{
			alert (_compPnl_noMoreYears);
			cError = true;
		}
		break;
		case "monthly":
		if (rowNum > (availYears.length*12))
		{
			alert (_compPnl_noMoreMonths);
			cError = true;
		}
		break;
		case "quarterly":
		if (rowNum > (availYears.length*4))
		{
			alert (_compPnl_noMoreQuarters);
			cError = true;
		}
		break;
	}

	if (rowNum <= compPnl_maxPeriods && !cError)
	{
		var parentRow = document.getElementById("datesTable_bottomRow").rowIndex;
		var curTable = document.getElementById('datesForm_table');

		var curRow = curTable.insertRow(parentRow);
		curRow.setAttribute("id", "compRow_"+rowNum);
		curCell = curRow.insertCell(-1);
		curCell.setAttribute('colSpan','2');
		curCell.setAttribute('cellPadding','0');
		curCell.innerHTML = "<table cellspacing=0 cellpadding=5 id=\"compTable_"+rowNum+"\"></table>";

		curTable = document.getElementById("compTable_"+rowNum);
		var curRow = curTable.insertRow(-1);
		curCell = curRow.insertCell(-1);
		curCell.setAttribute("vAlign","middle");
		curCell.innerHTML = "<img src='"+delete_icon.src+"' class=imgLink alt='"+_deleteRow_+"' onClick='compPnl_removeRow("+rowNum+")'> ";

		if (periodType == "quarterly")
		{
			curCell = curRow.insertCell(-1);
			curCell.innerText = _year+":";
			curCell = curRow.insertCell(-1);
			buildDates_yearSelect(rowNum, curCell, availYears);
			curCell = curRow.insertCell(-1);
			curCell.innerText =_quarter+":";
			curCell = curRow.insertCell(-1);
			htmlData = "<select name='comp_"+rowNum+"_quarter'>";
			for (i=1; i < 5; i++)
				htmlData += "<option value='"+i+"'>"+i+"</option>";
			htmlData += "</select>";
			curCell.innerHTML = htmlData;
		}
		else if (periodType == "monthly")
		{
			curCell = curRow.insertCell(-1);
			curCell.innerText = _year+":";
			curCell = curRow.insertCell(-1);
			buildDates_yearSelect(rowNum, curCell, availYears);
			curCell = curRow.insertCell(-1);
			curCell.innerText = _month+":";
			curCell = curRow.insertCell(-1);
			htmlData = "<select name='comp_"+rowNum+"_month'>";
			for (i=1; i < 13; i++)
				htmlData += "<option value='"+i+"'>"+i+"</option>";
			htmlData += "</select>";
			curCell.innerHTML = htmlData;
		}
		else
		{
			curCell = curRow.insertCell(-1);
			curCell.innerText = _year+":";
			curCell = curRow.insertCell(-1);
			buildDates_yearSelect(rowNum, curCell, availYears);
		}

		rowNum++;
	}
	else if (!cError)
	{
		alert (_compPnl_maxAllowed);
	}
}

function compPnl_removeRow(rowID)
{
	// page: reports_pnl_comp.php
	var curRow = document.getElementById("compRow_"+rowID).rowIndex;
	var curTable = document.getElementById('datesForm_table');
	curTable.deleteRow(curRow);
	rowNum --;
}

function buildDates_yearSelect(rowNum, curCell, yearArray)
{
	// page: reports_pnl_comp.php
	htmlData = "<select name='comp_"+rowNum+"_year'>";
	for (i=0; i < yearArray.length; i++)
		htmlData += "<option value='"+yearArray[i]+"'>"+yearArray[i]+"</option>";
	htmlData += "</select>";
	curCell.innerHTML = htmlData;
}

function compPnl_changeType()
{
	// Function for changin period type for comparison pnl report
	// page: reports_pnl_comp.php

	var cForm = document.datesForm;
	for (i=0;i<cForm.periodType.length; i++)
	{
		periodType = cForm.periodType[i].value;
		document.getElementById("cType_"+periodType).className = (cForm.periodType[i].checked)?"bordoBold":"";
	}

	rowsCount = rowNum;
	for (i=1; i<=compPnl_maxPeriods; i++)
		if (document.getElementById("compRow_"+i))
			compPnl_removeRow(i);

	for (a=1; a < rowsCount; a++)
	{
		compPnl_addRow();
	}
}

function compPnl_submit()
{
	if (rowNum <= 2)
	{
		alert (_compPnl_noPeriod);
		return false;
	}
	else
	{
		document.datesForm.totalRows.value = rowNum;
		return true;
	}
}

function tree_expandAll(startRow)
{
	if (!preloadStat)
	{
		showPreload();
		setTimeout("tree_expandAll("+startRow+")", 200);
	}
	else
	{
		curTable = document.getElementById('reportsTable');
		tableRows = curTable.rows.length;

		for (i=startRow; i<tableRows; i++)
		{
			curRow = curTable.rows[i];
			curRow_childs = $(curRow).children();
			
			curImg = $(curRow_childs[0]).find('img');
			img_src = $(curImg).attr('src');
			
			if( site_url+img_src == tree_plus.src )
			{
				//cClick = curImg.onclick;
				//cClick();
				$(curImg).click();
				tree_expandAll(--i);
				break;
			}
			/*
			if (curRow.firstChild && curRow.firstChild.firstChild && curRow.firstChild.firstChild.tagName == "IMG")
			{
				curImg = curRow.firstChild.firstChild;
				if (curImg.src == tree_plus.src)
				{
					cClick = curImg.onclick;
					cClick();
					tree_expandAll(--i);
					break;
				}
			}*/
		}
		if (i==tableRows) showPreload();
	}
}

function tree_collapseAll(startRow)
{
	curTable = document.getElementById('reportsTable');
	tableRows = curTable.rows.length;
	if (startRow == 0) startRow = tableRows;
	
	for (i=startRow-1; i>0; i--)
	{
		curRow = curTable.rows[i];
		curRow_childs = $(curRow).children();
		
		curImg = $(curRow_childs[0]).find('img');
		img_src = $(curImg).attr('src');
		
		if (img_src == tree_minus.src)
		{
			//cClick = curImg.onclick;
			//cClick();
			$(curImg).click();
			tree_collapseAll(--i);
			break;
		}
		/*
		if (curRow && curRow.firstChild && curRow.firstChild.firstChild && curRow.firstChild.firstChild.tagName == "IMG")
		{
			curImg = curRow.firstChild.firstChild;
			if (curImg.src == tree_minus.src)
			{
				cClick = curImg.onclick;
				cClick();
				tree_collapseAll(--i);
				break;
			}
		}
		*/
	}
}

function checkForm_paymentFormSelect(cForm)
{
	checkForm = false;
	if (cForm.fType.length)
	{
		for (i=0;i<cForm.fType.length; i++)
		{
			if (cForm.fType[i].checked)
				checkForm = true;
		}
	}
	else
		checkForm = cForm.fType.checked;
	if (!checkForm)
	{
		alert (_alert_selectPaymentForm);
		return false;
	}
	else
		return true;
	return true;
}

function payForm_addLine(docID)
{
	// FUNCTION FOR CREATING NEW EMP|TY ROW ON PAYMENT FORM
	// CREATES NEW LINE ON DOCLINES TABLE VIA AJAX AND ADDS ROW TO TABLE
	// PAGE: Payment Report Form.php

	//var url = "xml_payForm_lines.php?docType=PAY&lineType=EMP&lineMethod=add&docID="+docID;
	var url = aePHP+"?action=xml_payForm_lines&docType=PAY&lineType=EMP&lineMethod=add&docID="+docID;
//	window.clipboardData.setData('Text',url);
	var xml = LoadXML(url);
	if(xml != null && xml.getElementsByTagName('rsp_stat')[0].firstChild.data > 0)
	{
		lineID = xml.getElementsByTagName('lineID')[0].firstChild.data;

		curTable = document.getElementById('reportsTable');
		curRow = curTable.insertRow(-1);
		
		curRow.setAttribute("id", "row_"+nextRow);
		//row_rollOver = function(){this.className="rollOver";}
		//row_rollOut = function(){if (!this.isCalc)this.className="";}
		row_rollOver = 'this.className="rollOver";';
		row_rollOut = 'if (!this.isCalc) this.className="";';
		curRow.setAttribute("onmouseover", row_rollOver);
		curRow.setAttribute("onmouseout", row_rollOut);
		curCell = curRow.insertCell(-1);
		curCell.setAttribute("noWrap", "noWrap");
		curCell.setAttribute("width", 10);
		curCell.setAttribute("class", "noPadding");
		curCell.innerHTML = "<a href='javascript:void(0);' onClick='fPop(\"payForm_lineEdit\", 600,700,\"PayForm_LineEdit.php\",\"lineID="+lineID+"&docID="+docID+"&rowID="+nextRow+"\",true);''><img src='"+checkImage.src+"' class=imgLink alt='"+_editPayRow+"'></a>";
		curCell = curRow.insertCell(-1);
		curCell.setAttribute("width", 10);
		curCell.setAttribute("noWrap", "noWrap");
		curCell.setAttribute("class", "noPadding");
		curCell.innerHTML = "<a href='javascript:void(0);' onClick='payForm_removeRow("+docID+","+lineID+", "+nextRow+")'><img src='"+deleteImage.src+"' class=imgLink alt='"+_deletePayRow+"'></a>";
		
		extraArray = new Array("firstName","lastName","idNum","basePay","transport","addons","absence","deductMust","deduct");
		for (i in extraArray)
		{
			cKey = extraArray[i];
			curCell = curRow.insertCell(-1);
			curCell.setAttribute("id", nextRow+"_"+cKey);
			curCell.setAttribute("noWrap", "noWrap");
			if (cKey == "addons" || cKey == "absence" || cKey == "deductMust" || cKey == "deduct")
			{
				curCell.setAttribute("align", "center");
				curCell.setAttribute("class", "accountNone noPadding align_center");
			}
			else if (cKey == "firstName" || cKey == "lastName" || cKey == "idNum")
			{
				curCell.setAttribute("class", "noPadding");
			}
			else
			{
				curCell.setAttribute("class", "accountNone noPadding dir_def");
			}
			if (cKey != "firstName" && cKey != "lastName" && cKey != "idNum")
			{
				/*cell_mouseover = function () {payForm_showTop(cKey, docID, lineID);}
				curCell.setAttribute("onmouseover", cell_mouseover);
				curCell.setAttribute("onmouseout",hideddrivetip);*/
			}
			if (cKey == "basePay" || cKey == "transport")
			{
				curCell.innerText = "0.00";
				$(curCell).text("0.00");
			}
			else if (cKey == "addons" || cKey == "deductMust" || cKey == "deduct")
			{	
				//curCell.innerHTML = "<img src='"+xIcon_grey.src+"' />";
				$(curCell).html("<img src='"+xIcon_grey.src+"' />");
			}
			else if (cKey == "absence")
			{	
				//curCell.innerText = "0";
				$(curCell).text("0");
			}
		}
		curRow = curTable.insertRow(-1);
		curCell = curRow.insertCell(-1);
		curCell.setAttribute("class","rowSep_2");
		curCell.setAttribute("colSpan",11);

		nextRow++;
	}
}

function payForm_removeRow(docID, lineID, rowID)
{
	// FUNCTION FOR REMOVING EXISTING ROW FROM PAYMENT FORM
	// PAGE: Payment Report Form.php
	cDelete = confirm(confirm_removeRow);
	if (cDelete)
	{
		//var url = "xml_payForm_lines.php?docType=PAY&lineType=EMP&lineMethod=delete&docID="+docID+"&lineID="+lineID;
		var url = aePHP+"?action=xml_payForm_lines.php&docType=PAY&lineType=EMP&lineMethod=delete&docID="+docID+"&lineID="+lineID;
	//	window.clipboardData.setData('Text',url);
		var xml = LoadXML(url);
		if(xml != null && xml.getElementsByTagName('rsp_stat')[0].firstChild.data > 0)
		{
			oTable = document.getElementById('reportsTable');
			oRow = document.getElementById("row_"+rowID).rowIndex;
			oTable.deleteRow(oRow);
			oTable.deleteRow(oRow);
			nextRow--;
		}
	}
}

function payForm_noUpdate()
{
	// CLOSE PAYMENT UPDATE ROW WINDOW AFTER CONFIRM
	if (confirm(confirm_closeWin))
		window.close();
}

function payForm_subForm(setNext)
{
	if (confirm(confirm_updateLine))
	{
		document.payForm.showNext.value = setNext;
		document.payForm.submit();
	}
	else
		return false;
}

function payForm_updateRow(rowID, docID, lineID)
{
	// FUNCTION FOR UPDATING PAYFORM ROW AFTER CHANGING ROW DATA FROM POPUP WINDOW
	// PAGE: Payment Report Row.php / PayForm_LineEdit.php
	
	//var url = "xml_payForm_lines.php?docType=PAY&lineType=EMP&lineMethod=getData&docID="+docID+"&lineID="+lineID;
	var url = aePHP+"?action=xml_payForm_lines.php&docType=PAY&lineType=EMP&lineMethod=getData&docID="+docID+"&lineID="+lineID;
//	window.clipboardData.setData('Text',url);
	
	var xml = LoadXML(url);
	if(xml)
	{
		extraArray = new Array("firstName","lastName","idNum","basePay","transport","addons","absence","deductMust","deduct");
		for (i in extraArray)
		{
			cKey = extraArray[i];
			cStat = (xml.getElementsByTagName('stat_'+cKey)[0] && xml.getElementsByTagName('stat_'+cKey)[0].firstChild && xml.getElementsByTagName('stat_'+cKey)[0].firstChild.data) ? xml.getElementsByTagName('stat_'+cKey)[0].firstChild.data:false;
			cValue = (xml.getElementsByTagName(cKey)[0] && xml.getElementsByTagName(cKey)[0].firstChild && xml.getElementsByTagName(cKey)[0].firstChild.data) ? xml.getElementsByTagName(cKey)[0].firstChild.data:"";
			cField = window.opener.document.getElementById(rowID+"_"+cKey);
			if (cField)
			{
				if (cKey != "firstName" && cKey != "lastName" && cKey != "idNum")
				{
					cClass = (cStat > 0 ) ? "accountBalance":"accountNone";
					if (cKey == "addons" || cKey == "absence" || cKey == "deductMust" || cKey == "deduct")
					{
						cField.setAttribute("align", "center");
						cField.setAttribute("class", cClass+" noPadding align_center");
					}
					else
					{
						cField.setAttribute("class", cClass+" noPadding dir_def");
					}
				}
				cField.innerHTML = "<span>"+cValue+"</span>";
			}
			else
			{
				window.opener.reload();
			}
		}
	}
}

function payForm_closeForm(docID)
{
	if (confirm(_closeDoc_confirm))
	{
		location.replace('Payment Report Form.php?CloseDoc='+docID);
	}
	else
		return false;
}

function payForm_newSelect(cForm, cValue)
{
	// disable fetch employees option if new type selected is based on previous month
	if (cValue != "new")
		document.getElementById("getEmployees_div").style.display = "none";
	else
		document.getElementById("getEmployees_div").style.display = "inline";
}

function payForm_deleteDoc(docID) {
	if (confirm(_confirm_deleteDoc))
		location.replace('Payment Report Form.php?RemoveDoc='+docID);
}

function payForm_showTip(fKey, docID, lineID) {
	//var url = "xml_payForm_lines.php?docType=PAY&lineType=EMP&lineMethod=showTooltip&docID="+docID+"&lineID="+lineID+"&lineGroup="+fKey;
	var url = aePHP+"?action=xml_payForm_lines.php&docType=PAY&lineType=EMP&lineMethod=showTooltip&docID="+docID+"&lineID="+lineID+"&lineGroup="+fKey;
//	window.clipboardData.setData('Text',url);
	var tip = LoadHTML(url);
	if(tip && tip != "")
	{
		switch (fKey)
		{
			case "addons":
				cWidth = 200;
			break;
			default:
				cWidth = 150;
			break;
		}
		ddrivetip(tip, cWidth);
	}
}

function updCst_expense(curForm,rep,showPreload)
{
	var updateElement = $(curForm).parents("#cst_expense_wrap").get(0);
//console.log($(updateElement));
	var params = $(curForm).serialize();
	console.log(params);
	url = aePHP+"?action=cst_expense&rep="+rep;
//	updateElement = "#cst_expense_wrap";
	
	runJqueryAjax(url,params,showPreload,updateElement);
	
	return false;
}

// START CALL SERVICE OMC
function openCalendar(){
  topVar=((screen.height / 2)-110);
  leftVar=((screen.width / 2)-175);
  calAttributes="width=350, height=150, top="+topVar+", left="+leftVar+", scrollbars=no, status=no, location=no, resize=no, menubar=no, titlebar=no, toolbar=no";
  window.open("calNewCall.php", "calNewCall", calAttributes); 
}

function close_task(docType,docID) {
	if( !docType || !docID ) return false;
	
	url = aePHP+"?action=closeSeviceTask";
	updateElement = "#task_wrap";
	params = "&docType="+docType+"&docID="+docID;
	runJqueryAjax(url,params,1,updateElement);
	
	return false;
}

