
function cash(refresh)
{        
	if(refresh || true)
	{
		var d = ((new Date()) - (new Date(0)))+Math.ceil(Math.random()*1000000);
		return "vvvv="+d;
	}
	return "";
}

function emptySelect(obj)
{
	while (obj.options.length>0) obj.options[obj.options.length-1] = null;
}


function trim(arg)
{ 
    return(arg.replace(/^\s*|\s*$/g, ""));
} 

function ShowHideDiv(bool, divName)
{
	var obj = document.getElementById(divName);
	if (bool == true)
		obj.style.display='block';
	else
		obj.style.display='none';			
}

function htmlEnc(str)
{
	return str.replace(/&/g,'&amp;').replace(/"/g,'&quot;').replace(/'/g,'&#039;').replace(/</g,'&lt;').replace(/>/g,'&gt;')
}

function popupWindow(url) 
{
  window.open(url,'popupWindow','toolbar=no,location=no,directories=no,status=yes,menubar=no,scrollbars=yes,resizable=yes,copyhistory=no,width=100,height=100,screenX=0,screenY=0,top=0,left=0')
}
function isInSelect(obj, val)
{
	for(var i=0; i<obj.options.length; i++)
	{
		if (obj.options[i].value == val)
			return true;
	}
	return false;
}

function isInt(str)
{
	var reNumber = /^\d+$/;
	if(reNumber.test(str))
	{
		return true
	}
	else
	{
		return false
	}
}

function checkEmail(str)
{
	str = trim(str);
    return (str.search(/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/) != -1);
}
	
function proper(val)
{	
	if (val=="") return "";
	val=val.replace(/\s+/g,"");
	val=val.replace(/,|;|:+/g,",");
	val=val.replace(/^,+/g,"");
	val=val.replace(/,+$/g,"");
	return val.replace(/,{2,}/g,",");
}

function winOpen(w, h, strUrl, winName, scr)
{
	wndX = getWindowX(w);
	wndY = getWindowY(h);
	window.open(strUrl, winName, "fullscreen=No,toolbar=No,location=No,directories=No,status=No,menubar=No,scrollbars="+scr+",resizable=No,width="+w+",height="+h+",screenX="+wndX+",screenY="+wndY+",left="+wndX+",top="+wndY);
}
function getWindowX(wndWidh)
{
	var wndX;
	wndX=Math.round((screen.width - wndWidh)/2);
	wndX=(wndX<0)?0:wndX;
	return wndX;
}
function getWindowY(wndHeight)
{
	var wndY;
	wndY=Math.round((screen.height - wndHeight)/2); 
	wndY=(wndY<0)?0:wndY;
	return wndY;
}
	
function checkLink(LinkID)
{
	/*if (!allLinks) return false;
	
	var re = new RegExp("="+LinkID+"\\|\\d+=");
	var child = allLinks.match(re);
	if (!child)  return false;
	var parent = ""+(child+"").split("|")[1];
	parent = parent.substr(0,parent.length-1);
	if (parent=="0") return true;

	return checkLink(parent);*/
	return true
	
}

function onLink()
{
	return true;
}

function openPrint()
{
	//return true;
	//lastMenuID, lastTemplateID, lastPageID, lastURL, lastLanguageID;
	try
	{
		window.open("print.php?menuID="+lastMenuID+"&tid="+lastTemplateID+"&pid="+lastPageID+"&lng="+lastLanguageID+"&"+lastURL+"&newsID="+lastNewsID+"&letter="+lastLetter+"&day="+lastDay+"&month="+lastMonth+"&year="+lastYear ,"popupPrint","width=960,height=600,resizable=0,toolbar=0,location=0,status=0,menubar='0',directories=0,scrollbars=1");
	}
	catch(e){}
}

//************ LANGUAGE  *****************

function setLanguage(lID)
{
	//lastLanguageID = lID;
	//_doRequest(lastMenuID,lastTemplateID,lastPageID,lID,lastURL);
	
	//sURL = self.location.href
	attrs = document.location.search;
	lngStart = attrs.indexOf("lng=");
	lngEnd = (attrs.indexOf("&", lngStart))-1;
	lngEnd = (lngEnd<0)?attrs.length:lngEnd;
	if(lngStart>0)
		sURL = attrs.replace(attrs.substr(lngStart, lngEnd), "lng="+lID);
	else
		sURL = document.location.href + ((attrs.length>0)?"&":"?") +("lng="+lID);
	
	top.location.href = sURL;
}

// ************ DATE ******************************************
// <input value="__/__/____" maxlength="10" onkeydown="return date_keydown(this);" onkeyup="date_keyup(this);" dformat="MM/DD/YYYY" onfocus="date_focus(this);" onclick="date_click(this);" onblur="date_blur(this);" onkeypress="return date_keypress(this);" pos="0" msg="The date you typed incorrect."  startDate='01/01/1900' endDate='01/01/2079' style="width:70px;">
function date_click(obj)
{
	var r = obj.createTextRange();
	var x= window.event.offsetX;
	r.collapse(false);
	
	for(var i=9;i>=0;i--)
	{
		r.move("character",-1);
		if (i!=2 && i!=5 && r.offsetLeft<=x) break;
	}
	
	obj.pos = i;
	r.expand("character");
	r.select();	
}

function date_focus(obj)
{
	var r = obj.createTextRange();
	r.collapse(true);	
	obj.pos = 0;
	r.expand("character");
	r.select();	
}

function date_keydown(obj)
{
	switch (event.keyCode)
	{
		case 9:	// TAB
			break;	
				
		case 35:	// END
			obj.pos=9;
			break;
		
		case 36:	// HOME
			obj.pos=0;
			break;
			
		case 37:	// <-
			if (obj.pos<1) return false;
			obj.pos-=(obj.pos==3 || obj.pos==6)?2:1;
			break;

		case 39:	// ->
			if (obj.pos>8) return false;
			obj.pos+=(obj.pos==1 || obj.pos==4)?2:1;
			break;	

		case 46:	// DEL
			obj.value = obj.value.substring(0,obj.pos)+"_"+obj.value.substring(obj.pos+1);
			if (obj.pos<9) obj.pos+=(obj.pos==1 || obj.pos==4)?2:1;
			return false;
			break;	

		case 8:	// BACK
			obj.value = obj.value.substring(0,obj.pos)+"_"+obj.value.substring(obj.pos+1);
			if (obj.pos>0) obj.pos-=(obj.pos==3 || obj.pos==6)?2:1;		
			return false;
			break;
			
		default:
			if (!((event.keyCode>47 && event.keyCode<58) || (event.keyCode>95 && event.keyCode<106))) return false;
	}

	return true;			
}

function date_keypress(obj)
{
	if (!((event.keyCode>47 && event.keyCode<58) || (event.keyCode>95 && event.keyCode<106))) return false;
	date_keyup(obj);
	if (obj.pos<9) obj.pos+=(obj.pos==1 || obj.pos==4)?2:1;	
}

function date_keyup(obj)
{
	var r = obj.createTextRange();
	r.collapse();
	r.move("character",obj.pos);
	r.expand("character");
	r.select();
}

function date_blur(obj)
{
	if (obj.value=="" || obj.value=="__/__/____") return true;

	var str = obj.value.replace(/_/g,"");
	if (obj.dformat=="MM/DD/YYYY")
	{
		var temp = new Date(str);
	}
	else
	{
		var t = str.split("/");
		var temp = new Date(t[1]+"/"+t[0]+"/"+t[2]);
	}

	if (isNaN(temp))
	{
		obj.value="__/__/____";
		alert(obj.msg);
		return false;
	}
	
	obj.value=DateToString(temp, obj.dformat);
	var tempCurrDate = new Date(obj.value);
	var tempStartDate = new Date(obj.startDate);
	var tempEndDate = new Date(obj.endDate);
	if (tempCurrDate < tempStartDate)
	{
		alert("The start date cannot be earlier than "+ obj.startDate);
		obj.value="__/__/____";
		obj.focus();
		return false;
	}
	else if(tempCurrDate > tempEndDate)
	{
		alert("The end date cannot be later than "+ obj.endDate);
		obj.value="__/__/____";
		obj.focus();
		return false;
	}
	return true;
}

function digit2(val)
{
	return (val<10)?('0'+val):val;
}

function DateToString(d, f)
{
	if(f=="MM/DD/YYYY") return digit2(d.getMonth()+1)+'/'+digit2(d.getDate())+'/'+((d.getFullYear()<1930)?d.getFullYear()+100:d.getFullYear());
	if(f=="DD/MM/YYYY") return digit2(d.getDate())+'/'+digit2(d.getMonth()+1)+'/'+((d.getFullYear()<1930)?d.getFullYear()+100:d.getFullYear());
}


// ************ TIME ******************************************

function time_click(obj)
{
	var r = obj.createTextRange();
	var x= window.event.offsetX;
	r.collapse(false);
	
	for(var i=4;i>=0;i--)
	{
		r.move("character",-1);
		if (i!=2 && r.offsetLeft<=x) break;
	}
	
	obj.pos = i;
	r.expand("character");
	r.select();	
}

function time_focus(obj)
{
	var r = obj.createTextRange();
	r.collapse(true);	
	obj.pos = 0;
	r.expand("character");
	r.select();	
}

function time_keydown(obj)
{
	switch (event.keyCode)
	{
		case 9:	// TAB
			break;	
				
		case 35:	// END
			obj.pos=4;
			break;
		
		case 36:	// HOME
			obj.pos=0;
			break;
			
		case 37:	// <-
			if (obj.pos<1) return false;
			obj.pos-=(obj.pos==3)?2:1;			
			break;

		case 39:	// ->
			if (obj.pos>3) return false;
			obj.pos+=(obj.pos==1)?2:1;
			break;	

		case 46:	// DEL
			obj.value = obj.value.substring(0,obj.pos)+"_"+obj.value.substring(obj.pos+1);
			if (obj.pos<4) obj.pos+=(obj.pos==1)?2:1;
			return false;
			break;	

		case 8:	// BACK
			obj.value = obj.value.substring(0,obj.pos)+"_"+obj.value.substring(obj.pos+1);
			if (obj.pos>0) obj.pos-=(obj.pos==3)?2:1;		
			return false;
			break;
			
		default:
			if (!((event.keyCode>47 && event.keyCode<58) || (event.keyCode>95 && event.keyCode<106))) return false;
	}

	return true;			
}

function time_keypress(obj)
{

	if (!((event.keyCode>47 && event.keyCode<58) || (event.keyCode>95 && event.keyCode<106))) return false;
	time_keyup(obj);
	if (obj.pos<4) obj.pos+=(obj.pos==1)?2:1;
}

function time_keyup(obj)
{
	var r = obj.createTextRange();
	r.collapse();
	r.move("character",obj.pos);
	r.expand("character");
	r.select();
}

function time_blur(obj)
{
	if (obj.value=="" || obj.value=="__:__") return true;

	var str = obj.value.replace(/_/g,"");	
	var t = str.split(":");
	var val = parseInt(t[0],10)*60+parseInt(t[1],10);
	if (isNaN(val))
	{
		obj.value="__:__";
		alert(obj.msg);
		return false;
	}
	obj.value=MinToTime(val);
	return true;
}


function MinToTime(val)
{
	return digit2((Math.floor(val/60))%24)+':'+digit2(val%60);
}

/************** Functions for AJAX ***************/
/*
	mID => menu id
	tID => template id
	pID => page id
	lng => language id
	url => url for request
*/
//var lastMenuID, lastTemplateID, lastPageID, lastLanguageID;
var urlCallbacks = [
					["content/topmenu.php", showTopMenuContent, false],
					["content/languages.php", showLanguagesContent, false],
					["content/searchPreview.php", showSearchPreviewContent, false],
					["content/mainmenu.php", showMainMenuContent, false],
					["content/pages/bigBanner.php", showBigBanners, false],
					["getContent.php", showContent, true],
					["content/pages/banners.php", showBanners, false],
					["content/pages/submenus.php", showSubMenu, false],
					["content/pages/currenciesPreview.php", showCurrenciesPreviewContent, false],
					["content/pages/calculatorsPreview.php", showCalculatorsPreviewContent, false]
				   ];
var functionIndex = 0;
function _doRequest(mID,tID,pID,lng,url)
{
	try
	{
		if (tID=="0" && (pID=="0" || pID=="") && url!="")
		{
			self.location.href = (url.indexOf("://") >= 0)?url:("http://"+url);
		}
		else
		{
			try
			{
				timestamp = (new Date()).getTime();
			}
			catch(e){}
			
			lng = lastLanguageID;
			
			functionIndex = 0;
			if (urlCallbacks[functionIndex][2]==false)
			{
				requestURL = urlCallbacks[functionIndex][0]+"?"+timestamp+"&menuID="+mID+"&tid="+tID+"&pid="+pID+"&lng="+lng+"&url="+url+"&ajax=1";
				ajax(requestURL, urlCallbacks[functionIndex][1], false);
			}
			else
			{
				requestURL = urlCallbacks[functionIndex][0]+"?"+timestamp+"&menuID="+mID+"&tid="+tID+"&pid="+pID+"&lng="+lng+"&ajax=1";
				ajaxPost(requestURL, urlCallbacks[functionIndex][1], false, url);
			}
			
			showloading();
			
			lastMenuID = mID;
			lastPageID = pID;
			lastTemplateID = tID;
			lastURL = url;
		}
	}
	catch(e){}
}

function callNextFunction()
{
	functionIndex++;
	if (urlCallbacks[functionIndex])
	{
		if (urlCallbacks[functionIndex][2]==false)
		{
			requestURL = urlCallbacks[functionIndex][0]+"?"+timestamp+"&menuID="+lastMenuID+"&tid="+lastTemplateID+"&pid="+lastPageID+"&lng="+lastLanguageID+"&url="+lastURL+"&ajax=1";
			ajax(requestURL, urlCallbacks[functionIndex][1], false);
		}
		else
		{
			requestURL = urlCallbacks[functionIndex][0]+"?"+timestamp+"&menuID="+lastMenuID+"&tid="+lastTemplateID+"&pid="+lastPageID+"&lng="+lastLanguageID+"&ajax=1";
			ajaxPost(requestURL, urlCallbacks[functionIndex][1], false, lastURL);
		}
	}
	else
	{
		hideloading();
	}
}

////////////////////Show region's content functions
function showContent(txtContent)
{
	callNextFunction();
	try
	{
		document.getElementById("pageContent").innerHTML = txtContent;
	}
	catch(e){}
}
function showTopMenuContent(txtContent)
{
	callNextFunction();
	try
	{
		document.getElementById("topMenuContent").innerHTML = txtContent;
	}
	catch(e){}
}
function showLanguagesContent(txtContent)
{
	callNextFunction();
	try
	{
		document.getElementById("languagesContent").innerHTML = txtContent;
	}
	catch(e){}
}
function showSearchPreviewContent(txtContent)
{
	callNextFunction();
	try
	{
		document.getElementById("searchPreviewContent").innerHTML = txtContent;
	}
	catch(e){}
}
function showMainMenuContent(txtContent)
{
	callNextFunction();
	try
	{
		document.getElementById("mainMenuContent").innerHTML = txtContent;
	}
	catch(e){}
}
function showBanners(txtContent)
{
	callNextFunction();
	try
	{
		document.getElementById("bannersContent").innerHTML = txtContent;
	}
	catch(e){}
}
function showBigBanners(txtContent)
{
	callNextFunction();
	try
	{
		document.getElementById("bigBannerContent").innerHTML = txtContent;
	}
	catch(e){}
}
function showSubMenu(txtContent)
{
	callNextFunction();
	try
	{
		document.getElementById("subMenuContent").innerHTML = txtContent;
	}
	catch(e){}
}
function showCurrenciesPreviewContent(txtContent)
{
	callNextFunction();
	try
	{
		document.getElementById("currenciesPreviewContent").innerHTML = txtContent;
	}
	catch(e){}
}
function showCalculatorsPreviewContent(txtContent)
{
	callNextFunction();
	try
	{
		document.getElementById("calculatorsPreviewContent").innerHTML = txtContent;
	}
	catch(e){}
}
///////////////////////////////////////////////////////

/************ End Functions for AJAX *************/

function showNode(obj)
{
	try
	{
		if (obj.style.display == 'none')
			obj.style.display = 'block';
		else
			obj.style.display = 'none';
	}
	catch(e){}
}

function openInteractiveMap()
{
	windowHeight = 600;

	window.open("content/interactiveMap.php?lng="+lastLanguageID ,"popupInteractiveMap","width=800,height="+windowHeight+",resizable=0,toolbar=0,location=0,status=0,menubar='0',directories=0,scrollbars=0");
}
