var progressdiv = false;
var bubblediv = false;
var json_data;
var msgdiv = false;

// every ajax requests should call this function to execute default action
function defaultCompleteAction(ajax)
{
	var sResp = ajax.response;
	var isF = sResp.search(/Database error/);
	var sEnc;
	
	//alert(isF+" --- "+sResp);
	
	//isF = 89;
		
	if (isF>0 || sResp=="")
	{		
		sResp="Sorry, There is an error occured";
		showJSMessage("", sResp);
		hideProgress();	
	}
	else
	{	
		hideProgress();	
		eval("ajax.json_data = " + ajax.response);		

		if (ajax.json_data['error'].length)
		{
			showJSMessage("", ajax.json_data['error']);
		}
		if (ajax.json_data['code_exec'].length)
		{
		   eval(ajax.json_data['code_exec']);
		}
	}
}


// retrieve object's absolute Y position	
function getTopPos(inputObj)
{
	var returnValue = inputObj.offsetTop;
	while((inputObj = inputObj.offsetParent) != null){
		returnValue += inputObj.offsetTop;
	}
	return returnValue;
}

// retrieve object's absolute X position
function getLeftPos(inputObj)
{
	var returnValue = inputObj.offsetLeft;
	while((inputObj = inputObj.offsetParent) != null) returnValue += inputObj.offsetLeft;
	return returnValue;
}

// show small red box on top left screen
function showProgress(msg)
{
	var settinglinkLYR = document.getElementById('settinglink');
	if (!progressdiv){
		progressdiv = document.createElement('DIV');
		progressdiv.id = 'progressdiv';
		progressdiv.style.display='none';
		progressdiv.style.width='160px';
		progressdiv.style.height='25px';
		progressdiv.style.padding='7px 0 0 0';
		progressdiv.align='center';
		progressdiv.style.background="url('/js/progress-BG.gif') no-repeat";
		progressdiv.style.color='#FFFFFF';
		document.body.appendChild(progressdiv);
	}
	
	progressdiv.style.left = getLeftPos(settinglinkLYR) - 100 + 'px';
	progressdiv.style.top = getTopPos(settinglinkLYR) + settinglinkLYR.offsetHeight + 5 + 'px';
	progressdiv.style.position = 'absolute';
	
	progressdiv.innerHTML = msg;
	if (progressdiv.style.display=='none')
	{
		progressdiv.style.display='block';
	}
}

// remove the red box
function hideProgress()
{
	if (progressdiv)
		progressdiv.style.display='none';
}

function showJSMessage(title, message)
{
	//alert(message);
	showBubble(message);
	return;
	if (!msgdiv){
		msgdiv = document.createElement('DIV');
		msgdiv.id = 'msgdiv';
		msgdiv.style.display='none';
		document.body.appendChild(msgdiv);
	}	
	msgdiv.innerHTML = message;
	if (msgdiv.style.display=='none')
		msgdiv.style.display='block';	
}

function hideJSMessage()
{
	if (msgdiv)
		msgdiv.style.display='none';
}

function get_cookie ( cookie_name )
{
  var results = document.cookie.match ( '(^|;) ?' + cookie_name + '=([^;]*)(;|$)' );

  if ( results )
    return ( unescape ( results[2] ) );
  else
    return null;
}


// show bubble message
function showBubble(msg)
{
	var settinglinkLYR = document.getElementById('settinglink');
	if (!bubblediv){
		bubblediv = document.createElement('bubblediv');
		bubblediv.id = 'bubblediv';
		bubblediv.style.display='none';
		bubblediv.style.width='290px';
		bubblediv.style.height='140px';
		bubblediv.style.padding='5px 0 0 10px';
		bubblediv.align='center';
		bubblediv.style.filter='alpha(opacity=75)';
		bubblediv.style.opacity= '0.75';
		bubblediv.style.background="url('/js/bubble.gif') no-repeat";
		bubblediv.style.color='#000000';
		bubblediv.zIndex='1500';
		document.body.appendChild(bubblediv);
	}
	
	/*bubblediv.style.left = getLeftPos(settinglinkLYR) - 300 + 'px';
	bubblediv.style.top = getTopPos(settinglinkLYR) + settinglinkLYR.offsetHeight + 5 + 'px';
	bubblediv.style.position = 'absolute';*/
	
	bubblediv.style.position = 'fixed';
	bubblediv.style.top = '150px';
	bubblediv.style.left = '500px';
	
	bubblediv.innerHTML = '<a style="position:absolute; top:10px; right:10px;" href="#" onclick="closeBubble(); return false;"><img src="/js/close.png" border="0"></a><div style="position:relative; top:25%; width:95%; margin:0 auto;">'+msg+'</div>';
	if (bubblediv.style.display=='none')
	{
		//bubblediv.style.display='block';
		new Effect.Appear(bubblediv);
		setTimeout("bubble()",10000);
	}
}
function closeBubble()
{
	var objB = document.getElementById('bubblediv');
	new Effect.Fade(objB);
}


function bubble()
{
	var obj = document.getElementById('bubblediv');
		
	new Effect.Fade(obj);
	/*if (obj.style.display == "block" || obj.style.display == "")
	{
		new Effect.Fade(obj);			
	}
	else
	{
		new Effect.Appear(obj);		
	}*/
	
}

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" : "" );
}

function queryStringValue(findName)
{  
	var name = new String();  
	var value = new String();  
	var querystring = document.location.href;  
	var isFound = querystring.search(/\?/);
	//alert (querystring+" "+isFound);
	if (isFound>0)
	{
		querystring = querystring.split("?");  
		querystring = querystring[1].split("&");  
		for(q=0;q<querystring.length;q++){  
			var pair = querystring[q].split("=");  
			name = pair[0].toLowerCase();  
			value = pair[1].toLowerCase();  
			if(findName.toLowerCase() == name){  
				return value;  
			}  
		}  
	}
	else
	{
		return value="";
	}
}