///index template
function formSubmit(name) {
	var obj = eval("document."+name);
	var onsubmit = obj.onsubmit();
    if (onsubmit) {
		obj.submit();	
	}
}

function Search() {
	if (document.search_form.q.value.length < 2) {
		alert('Enter at least 2 Characters');
		return;
	}
	document.search_form.submit();
}

function GoTo(loc) {
	window.location = loc;
}

function AddToBookmarks(title,url){
	if (window.sidebar) // firefox
		window.sidebar.addPanel(title, url, "");
	else if(window.opera && window.print){ // opera
	var elem = document.createElement('a');
	elem.setAttribute('href',url);
	elem.setAttribute('title',title);
	elem.setAttribute('rel','sidebar');
	elem.click();
} 
else if(document.all)// ie
	window.external.AddFavorite(url, title);
}

function GoC(from,cid,node_target) {
	if (node_target == 1) {
		window.location = '?act=cms&id='+cid;
	} else {
		pContentWin('?act=cms&id='+cid);
	}
}

function FormatMoney(value) {
   result=""+Math.floor(value)+".";

   var cents=100*(value-Math.floor(value))+0.5;
   result += Math.floor(cents/10);
   result += Math.floor(cents%10);
   return result;
}

function CheckValue() {
		
	if (document.getElementById('doc_keywords_home').value.length < 3 || document.getElementById('form_act').value == 0) {
		
		var errMsg = document.getElementById('errMsg1').innerHTML;
		alert(errMsg);
		return false;
	}
}

function GoVisitNode(node_id) {
	window.open('index.php?act=allstores&sub=go&p=1&id='+node_id,'img','width=610,height=510,menubar=no,status=no,location=no,toolbar=no,scrollbars=yes,resizable=no');
}

function GoOpenNode(node_id) {
	window.open('index.php?act=allstores&sub=info&p=1&id='+node_id,'img','width=610,height=510,menubar=no,status=no,location=no,toolbar=no,scrollbars=yes,resizable=no');	
}


function refreshRadioboxFields() {

	elements = document.getElementsByTagName('INPUT');
	for(i=0; i<elements.length; i++) {
		obj_type = elements[i].getAttribute('type');
		if(obj_type == 'radio') {
			img_id = "image_"+elements[i].id;
			
			if(elements[i].checked) {
					if(navigator.appName != "Microsoft Internet Explorer") {
						document.getElementById(img_id).style.backgroundImage = "url('"+__IMGPATH+"boxes/radiobox_on.png')";
					} else {
						document.getElementById(img_id).style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+__IMGPATH+"boxes/radiobox_on.png',sizingMethod='image')";
					}
				} else {
					if(navigator.appName != "Microsoft Internet Explorer") {
						document.getElementById(img_id).style.backgroundImage = "url('"+__IMGPATH+"boxes/radiobox.png')"; 
					} else {
						document.getElementById(img_id).style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+__IMGPATH+"boxes/radiobox.png',sizingMethod='image')";
					}
				}
		}
	}
}

function refreshCheckboxFields() {
	checkboxes = document.getElementsByTagName('INPUT');
	for(c=0; c<checkboxes.length; c++) {
		obj_type_checkbox = checkboxes[c].getAttribute('type');
		if(obj_type_checkbox == 'checkbox') {
			img_id_checkbox = "image_"+checkboxes[c].id;
			
			if(checkboxes[c].checked) {
					document.getElementById(img_id_checkbox).src = __IMGPATH+'boxes/checkbox_on.gif';
					
				} else {
					document.getElementById(img_id_checkbox).src = __IMGPATH+'boxes/checkbox.gif';
				}
		}
	}
}

function changeCheckboxFields() {
	
	echeckbox = document.getElementsByTagName('INPUT');
	for(e=0; e<echeckbox.length; e++) {
		obj_type = echeckbox[e].getAttribute('type');
		if(obj_type == 'checkbox') {
			echeckbox[e].style.display = 'none'; 
			if(!echeckbox[e].id.length) {
				echeckbox[e].setAttribute('id', "checkbox_"+e);
				checkbox_id =  "checkbox_"+e;
			} else {
				checkbox_id = echeckbox[e].id;
			}
			
			//CREATE IMAGE
			checkbox_img = document.createElement('img');
			if(echeckbox[e].checked) { image_name = 'checkbox_on.gif'; }
								else { image_name = 'checkbox.gif'; }
							   
			checkbox_img.src = __IMGPATH+'boxes/'+image_name;
			
			checkbox_img.style.cursor = 'pointer';
			
			checkbox_img.style.verticalAlign = "middle";
			//checkbox_img.style.marginTop = '5px';
			checkbox_img.setAttribute('id', "image_"+checkbox_id);
			
			num = i;
			
			checkbox_img.onclick = function() {
				checkbox_name = this.id.replace("image_", "");
				
				if(document.getElementById(checkbox_name).checked) {
					document.getElementById(checkbox_name).checked = false;
					
				} else {
					document.getElementById(checkbox_name).checked = true;					
				}
				refreshCheckboxFields();
				//alert('ok');
			}
			
			echeckbox[e].parentNode.insertBefore(checkbox_img, echeckbox[e]); 
		}
	}
}

//AJAX PROVERkA



function getType(obj) { 
var type = typeof obj;
return type;
}

function changeRadioboxFields() {
	elements = document.getElementsByTagName('INPUT');
	for(i=0; i<elements.length; i++) {
		obj_type = elements[i].getAttribute('type');
		obj_id = elements[i].getAttribute('id');
		
		if(obj_type == 'radio' ) {
			elements[i].style.display = 'none'; 
			if(!elements[i].id.length) {
				elements[i].setAttribute('id', "radiobox_"+i);
				element_id =  "radiobox_"+i;
			} else {
				element_id = elements[i].id;
			}
			
			//CREATE IMAGE
			radio_img = document.createElement('img');
			if(elements[i].checked) { image_name = 'radiobox_on.png'; }
							   else { image_name = 'radiobox.png'; }
							   
			radio_img.src = __IMGPATH+"px.gif";
			if(navigator.appName != "Microsoft Internet Explorer") {
				radio_img.style.backgroundImage = "url('"+__IMGPATH+"boxes/"+image_name+"')";
				radio_img.style.backgroundPosition = "center";
				radio_img.style.backgroundRepeat = "no-repeat";
			} else {
				radio_img.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+__IMGPATH+"boxes/"+image_name+"',sizingMethod='image')";
			}
			radio_img.style.width = "12px";
			radio_img.style.height = "12px";

			//radio_img.style.position = 'absolute';
			radio_img.style.cursor = 'pointer';
			radio_img.style.paddingleft = '3px';
			radio_img.style.paddingRight = '3px';
			radio_img.style.paddingTop = '0px';
			radio_img.style.verticalAlign = "middle";
			radio_img.style.paddingBottom = '1px';
			radio_img.setAttribute('id', "image_"+element_id);
			
			num = i;
			
			radio_img.onclick = function() {
				
				radio_name = this.id.replace("image_", "");
				//fieldOnclick = eval(document.getElementById(radio_name).onclick);
				
				if(document.getElementById(radio_name).checked) {
					return false;
				} else {
					document.getElementById(radio_name).checked = true;
					
				}
				refreshRadioboxFields();
				if(getType(document.getElementById(radio_name).onclick) == 'function') document.getElementById(radio_name).onclick();
				//if(getType(fieldOnclick) == 'function') { fieldOnclick(); } 
				
			}
			
			elements[i].parentNode.insertBefore(radio_img, elements[i]); 
		}
	}
}




function changeLabelsFields() {
	var browserName=navigator.appName; 
	labels = document.getElementsByTagName('label');
	for(e=0; e<labels.length; e++) {
			if(browserName!="Microsoft Internet Explorer") { label_id = labels[e].getAttribute('for');     }
													  else { label_id = labels[e].getAttribute('htmlFor'); }
			
			if(label_id) {
				labels[e].style.cursor = 'pointer';
				obj_field = document.getElementById(label_id);
				
				
				labels[e].onclick = function() {
					
					if(browserName!="Microsoft Internet Explorer") {
							 label_nid = this.getAttribute('for').replace("box_", "");
					} else { label_nid = this.getAttribute('htmlFor').replace("box_", ""); }
					
					if(document.getElementById(label_nid) != undefined) {
						obj = document.getElementById(label_nid);
						fieldOnclick = eval(obj.onclick);
						
						label_type = obj.getAttribute('type');
								 if(label_type == 'radio') { markField(label_nid, 1); }
							else if(label_type == 'checkbox') { markField(label_nid); }
						}
						if(getType(fieldOnclick) == 'function') { fieldOnclick(); } 
					}
					
					//alert(this.getAttribute('htmlFor'));
					if(browserName!="Microsoft Internet Explorer") {  labels[e].setAttribute('for', 'box_'+label_id);     } 
															  else {  labels[e].setAttribute('htmlFor', 'box_'+label_id); }
					
					
			}
			
	}
}
//SUBMIT
function setFormKeyUP() {
	elements = document.getElementsByTagName('form');
	for(i=0; i<elements.length; i++) {
		  var inputs = elements[i].getElementsByTagName('input');
		  for(c=0; c<inputs.length; c++ ){
			  	form = eval(elements[i]);
				inputs[c].onkeyup = function(x) { 
					var keycode = '';
					if (x) keycode = x.keyCode
					if (keycode == 13) { if(form.onsubmit()) { form.submit() } }  
				}
		  }
	}
}
//CHECKBOX && RADIO BUTTON CHECK FUNCTION
function markField(boxid, type) {
		
		   if(document.getElementById(boxid) != undefined) {
			  	obj = document.getElementById(boxid);
				if(obj.checked) {
					if(!type) obj.checked = false;
				} else obj.checked = true;
			   
			 }
				  if(!type) {   refreshCheckboxFields(); }
			 else if(type == 1)  refreshRadioboxFields();
}
//SET GLOBAL FUNCTIONS
function $(name) {
	return document.getElementById(name);	
}

function is_number(a_string) 
{
	tc = a_string.charAt(0);
	
	if (tc == "+" || tc == "0" || tc == "1" || tc == "2" || tc == "3" ||	tc == "4" || tc == "5" || tc == "6" || tc == "7" || tc == "8" || tc == "9") 
	{
		return true;
	} 
	else 
	{
		return false;
	}
}

function checkEmail(address) 
{
	var preg = /([a-z0-9_])+(@)+([a-z0-9\-])+([.])+([a-z])/gi;
	
	if(address.match(preg)) 
	{
		return true;
	} 
	else  
	return false;
}

function isEmpty(field, form, message) 
{
	var object = eval("document."+form+"."+field);
	
	if(object != undefined) 
	{
		if(object.value.length > 0) 
		{
			return false;
		} 
		else 
		{
			alert(message);
			object.focus();
			return true;
		}
	}
}

function isNumField(field, form, message) 
{
	var object = eval("document."+form+"."+field);
	
	if(object != undefined) 
	{
		if(is_number(object.value)) 
		{
			return false;
		} 
		else 
		{
			alert(message);
			object.focus();
			return true;
		}
	}
}

function isEmailField(field, form, message) 
{ 
	var object = eval("document."+form+"."+field);
	
	if(object != undefined) 
	{
		if(checkEmail(object.value)) 
		{
			return false;
		} 
		else 
		{
			alert(message);
			object.focus();
			return true;
		}
	}
}



function StarChecker() {

	if (POST_SUBMIT != 1) return;

	for (i=0;i<document.forms.length;i++) {

		for (y=0;y<document.forms[i].elements.length;y++) {

			curelem = document.forms[i].elements[y];

			if (curelem.className == 'starfield_char') {

				if ((curelem.value.length < 2) || (curelem.value == '-')) curelem.className = 'starfield_notcorrect';

			} else

			if (curelem.className == 'starfield_int') {

				if (parseInt(curelem.value) < 1) curelem.className = 'starfield_notcorrect';

			}

		}

	}

}


var XML = {
	 not_whitespace : new RegExp(/[^\s]/),
	 

	//Process the xml data
	 xml2array : function(xmlDoc, parent_count) {
		
		var arr = new Array();
		var parent = "";
		parent_count = parent_count || new Array;
	
		var attribute_inside = 0; /*:CONFIG: Value - 1 or 0
		*	If 1, Value and Attribute will be shown inside the tag - like this...
		*	For the XML string...
		*	<guid isPermaLink="true">http://www.bin-co.com/</guid>
		*	The resulting array will be...
		*	array['guid']['value'] = "http://www.bin-co.com/";
		*	array['guid']['attribute_isPermaLink'] = "true";
		*	
		*	If 0, the value will be inside the tag but the attribute will be outside - like this...	
		*	For the same XML String the resulting array will be...
		*	array['guid'] = "http://www.bin-co.com/";
		*	array['attribute_guid_isPermaLink'] = "true";
		*/
		//alert(xmlDoc.childNodes[1].nodeName);
		
		if(xmlDoc.nodeName.charAt(0) == "#") { 
			if(xmlDoc.childNodes[0]) {
				if(xmlDoc.childNodes[0].nodeName == 'xml') {
					xmlDoc = xmlDoc.childNodes[1];
				}
			}
		}
		//alert( xmlDoc.nodeValue);
		if(xmlDoc.nodeName && xmlDoc.nodeName.charAt(0) != "#") {
			if(xmlDoc.childNodes.length > 1) { //If its a parent
				arr = new Array;
				parent = xmlDoc.nodeName;
			}
		}
		var value = xmlDoc.nodeValue;
		if(xmlDoc.parentNode && xmlDoc.parentNode.nodeName && value) {
			if(XML.not_whitespace.test(value)) {//If its a child
				arr = new Array;
				arr[xmlDoc.parentNode.nodeName] = value;
			}
		}
	
		if(xmlDoc.childNodes.length) {
			if(xmlDoc.childNodes.length == 1) { //Just one item in this tag.
				arr = XML.xml2array(xmlDoc.childNodes[0],parent_count); //:RECURSION:
			} else { //If there is more than one childNodes, go thru them one by one and get their results.
				var index = 0;
	
				for(var i=0; i<xmlDoc.childNodes.length; i++) {//Go thru all the child nodes.
					var temp = XML.xml2array(xmlDoc.childNodes[i],parent_count); //:RECURSION:
					if(temp != undefined) {
						var assoc = false;
						var arr_count = 0;
						for(key in temp) {
							if(isNaN(key)) assoc = true;
							arr_count++;
							if(arr_count>2) break;//We just need to know wether it is a single value array or not
						}
	
						if(assoc && arr_count == 1) {
							if(arr != undefined) {
							if(arr[key]) { 	//If another element exists with the same tag name before,
											//		put it in a numeric array.
								//Find out how many time this parent made its appearance
								if(!parent_count || !parent_count[key]) {
									parent_count[key] = 0;
	
									var temp_arr = arr[key];
									arr[key] = new Array;
									arr[key][0] = temp_arr;
								}
								parent_count[key]++;
								arr[key][parent_count[key]] = temp[key]; //Members of of a numeric array
							} else {
								parent_count[key] = 0;
								arr[key] = temp[key];
								if(xmlDoc.childNodes[i].attributes.length) {
									for(var j=0; j<xmlDoc.childNodes[i].attributes.length; j++) {
										var nname = xmlDoc.childNodes[i].attributes[j].nodeName;
										if(nname) {
											/* Value and Attribute inside the tag */
											if(attribute_inside) {
												var temp_arr = arr[key];
												arr[key] = new Array;
												arr[key]['value'] = temp_arr;
												arr[key]['attribute_'+nname] = xmlDoc.childNodes[i].attributes[j].nodeValue;
											} else {
											/* Value in the tag and Attribute otside the tag(in parent) */
												arr['attribute_' + key + '_' + nname] = xmlDoc.childNodes[i].attributes[j].nodeValue;
											}
										}
									} //End of 'for(var j=0; j<xmlDoc. ...'
								} //End of 'if(xmlDoc.childNodes[i] ...'
							}
							}
						} else {
							arr[index] = temp;
							index++;
						}
					} //End of 'if(temp) {'
				} //End of 'for(var i=0; i<xmlDoc. ...'
			}
		}
	
		if(parent && arr) {
			var temp = arr;
			arr = new Array;
			
			arr[parent] = temp;
		}
		
		//delete parent_count;
		
		return arr;
	}
}


var Ajax = {
	_pageURL : '',
	makeHttpRequest : function(url, callback_function, preload, return_xml)  {
		
		   var http_request = false; 
		   url = Ajax._pageURL+url;

			 try {
			  http_request = new XMLHttpRequest;
			}
			catch(e) {
				  var msxml = [
					'MSXML2.XMLHTTP.3.0',
					'MSXML2.XMLHTTP',
					'Microsoft.XMLHTTP'
				  ];
				  for (var i=0, len = msxml.length; i <len; ++i) {
					try {
					  http_request = new ActiveXObject(msxml[i]);
					 
					  break;
					}
					catch(e) {}
				  }
				}
		
		   if (!http_request) { 
			   alert('No Connection this the Server please try again later.')
			   return false; 
		   } 
		   http_request.open('GET', url, true); 
		   http_request.send(null);
		   
		   http_request.onreadystatechange = function() { 
		   	
			   if (http_request.readyState == 4) { 
				   if (http_request.status == 200) {  
				   		//alert(http_request.responseText);
				   		//alert(XML.xml2array(http_request.responseXML));
				      if (http_request.responseXML != null) { 
					  	
							
						  eval(callback_function + '(XML.xml2array(http_request.responseXML))'); 
					   } else { 
							if(callback_function.length) {
							   eval(callback_function + '(http_request.responseText)'); 
							  
							}
							
					   } 
				   } else { 
				   		alert('No Connection this the Server please try again later.')
					   //alert('There was a problem with the request.(Code: ' + http_request.status + ')'); 
				   } 
			   } 
		   } 
		  
		}
}


function replaceHtml(el, html) {
        var oldEl = (typeof el === "string" ? document.getElementById(el) : el);
        var newEl = document.createElement(oldEl.nodeName);
        
		var htmlArr = html.split('\n');
		// Preserve the element's id and class (other properties are lost)
        newEl.id = oldEl.id;
        newEl.className = oldEl.className;
        // Replace the old with the new
        newEl.innerHTML = htmlArr.join('');
        oldEl.parentNode.replaceChild(newEl, oldEl);
        return newEl;
		
		//var range = document.createRange();
		//range.selectNode(document.body);
		//var parsedHTML = range.createContextualFragment(html);
		
		//oldEl.appendChild(parsedHTML)

		
};


function writeCookie(name, value, hours)
{
  var expire = "";
  if(hours != null)
  {
	expire = new Date((new Date()).getTime() + hours * 3600000);
	expire = "; expires=" + expire.toGMTString();
  }
  document.cookie = name + "=" + escape(value) + expire;
}


function echeck(str) {
	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;
	}

	if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
	   return false;
	}

	if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
		return false;
	}

	 if (str.indexOf(at,(lat+1))!=-1){
		return false;
	 }

	 if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
		return false;
	 }

	 if (str.indexOf(dot,(lat+2))==-1){
		return false;
	 }
	
	 if (str.indexOf(" ")!=-1){
		return false;
	 }

	 return true;		
}

function formatNumber(num,dec,thou,pnt,curr1,curr2,n1,n2) {
	var x = Math.round(num * Math.pow(10,dec));
	
	if (x >= 0) n1=n2='';
	
	var y = (''+Math.abs(x)).split('');
	var z = y.length - dec;
	y.splice(z, 0, pnt);
	
	while (z > 3) {
		z-=3; 
		y.splice(z,0,thou);
	}
	
	var r = curr1+n1+y.join('')+n2+curr2;
		
	return r;
}

function openWin(adr){
	var pathURL = adr;
	clWin = window.open(pathURL,"gallery", "height=460, width=590, top=0, left=0, status=no, toolbar=no, menubar=no, location=no, scrollbars=no, directories=no");
	clWin.focus();
}

function is_number(a_string) {
tc = a_string.charAt(0);
if (tc == "+" || tc == "0" || tc == "1" || tc == "2" || tc == "3" ||	tc == "4" || tc == "5" || tc == "6" || tc == "7" || tc == "8" || tc == "9") {
return true;
} 
else {
return false;
   }
}



function createCookie(name,value,days) {
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
}

function ReadCookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}

function eraseCookie(name) {
	createCookie(name,"",-1);
}

function SetJSField(Tid,Tvalue) {
		tF = document.getElementById(Tid);
		if ((tF.type == 'radio') || (tF.type == 'checkbox')) {
			if (Tvalue == 1) tF.checked = true; else tF.checked = false;
		} else {
			tF.value = (Tvalue);
		}
	}
	
function GetXmlHttpObject() {
	var Request; 
	try{ 
	Request = new XMLHttpRequest();
	} catch (e){ 
		try{
		Request = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			try{
			Request = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e){ 
				alert("Your browser broke!");
				return false;
			}
		}
	}
	return Request;

}

