/******************************************
* Edit in place
******************************************/
var url='ajax.php';
var tmpTag=new Array();
var tmpStore=new Array();
function makeEditable(id){
	tmpTag[id] = $(id).innerHTML?1:0;
	$(id).innerHTML=$(id).innerHTML?($(id).innerHTML):lang_no;
	Event.observe(id, 'click', function(){edit($(id))}, false);
	Event.observe(id, 'mouseover', function(){showAsEditable($(id))}, false);
	Event.observe(id, 'mouseout', function(){showAsEditable($(id), true)}, false);
}

function edit(obj){
	Element.hide(obj);
	tmpStore[obj.id]=obj.innerHTML;

	var textarea = '<div id="'+obj.id+'_editor"><textarea id="'+obj.id+'_edit" name="'+obj.id+'" rows="2" cols="30">'+(tmpTag[obj.id]==0?'':trim(obj.innerHTML))+'</textarea>';
	var button	 = '<div style="align:center;"><input id="'+obj.id+'_save" type="button" class=button value="SAVE" /> OR <input id="'+obj.id+'_cancel" type="button" class=button value="CANCEL" /></div></div>';

	new Insertion.After(obj, textarea+button);

	Event.observe(obj.id+'_save', 'click', function(){saveChanges(obj)}, false);
	Event.observe(obj.id+'_cancel', 'click', function(){cleanUp(obj)}, false);
}

function showAsEditable(obj, clear){
	if (!clear){
		Element.removeClassName(obj, 'editable');
	}else{
		Element.addClassName(obj, 'editable');
	}
}
function saveChanges(obj){

	var new_content	=  escape($F(obj.id+'_edit'));

	obj.innerHTML	= lang_saving;
	cleanUp(obj, true);

	var success	= function(t){editComplete(t, obj);}
	var failure	= function(t){editFailed(t, obj);}


	var pars = 'id='+obj.id+'&mode=split&content='+new_content;
	var myAjax = new Ajax.Request(url, {method:'post', postBody:pars, onSuccess:success, onFailure:failure});

}

function cleanUp(obj, keepEditable){
	Element.remove(obj.id+'_editor');
	Element.show(obj);
	if (!keepEditable) showAsEditable(obj, true);
}

function editComplete(t, obj){
	obj.innerHTML	= t.responseText;
	tmpTag[obj.id] = obj.innerHTML?1:0;
	obj.innerHTML=obj.innerHTML?obj.innerHTML:lang_no;
	showAsEditable(obj, true);
}

function editFailed(t, obj){
	alert('Sorry, the update failed.');
	obj.innerHTML   =  tmpStore[obj.id];
	cleanUp(obj,0);
}
function trim(inputString) {

	if (typeof inputString != "string") { return inputString; }
	var retValue = inputString;
	var ch = retValue.substring(0, 1);

	while (ch == " ") {
		retValue = retValue.substring(1, retValue.length);
		ch = retValue.substring(0, 1);
	}
	ch = retValue.substring(retValue.length-1, retValue.length);

	while (ch == " ") {
		retValue = retValue.substring(0, retValue.length-1);
		ch = retValue.substring(retValue.length-1, retValue.length);
	}

	while (retValue.indexOf("  ") != -1) {
		retValue = retValue.substring(0, retValue.indexOf("  ")) + retValue.substring(retValue.indexOf("  ")+1, retValue.length);
	}
	return retValue;
}

/******************************************
* Edit in place
******************************************/
function populateValue(act,id,formname,hasval)
{
	$(formname).id.value = id;
	$(formname).act.value = act;
	text  = unhtmlspecialchars($(act+'_'+id).innerHTML);
	if (act=='name')
	{
		pos = text.lastIndexOf('.');
		if (pos!=-1) text = text.substring(0,pos);
	}
	if(act+'_'+id)
	{
		$(formname).edits.value = hasval==0?'':text;
	}
	return overlay($(act+'_'+id), formname+'_div')
}
function clickEditValue(act,id,formname)
{
	var hasval = $(act+'_'+id).innerHTML!='';
	if($(act+'_'+id).innerHTML=='') $(act+'_'+id).innerHTML=lang_no;
	Event.observe(act+id, 'click', function(){ return populateValue(act,id,formname,hasval)}, false);
}
function clickEditValues()
{
	for (var i=2; i<arguments.length; i++)
	{
		clickEditValue(arguments[i],arguments[0],arguments[1])
	}
}
function submitComplete(res, formname)
{
	var act = $(formname).act.value;
	var id = $(formname).id.value;
	$(act+'_'+id).innerHTML	= res.responseText=='' ? lang_no : res.responseText;
	$(act+id).innerHTML	= res.responseText=='' ? lang_add : lang_change;
	overlayclose(formname+'_div');
	return false;
}

function submitFailed(res, obj){
	alert(lang_updatefailed);
}

function submitCompletePublic(res, formname)
{
	var message = '';
	if (res.responseText == '1') message = lang_public;
	if (res.responseText == '0') message = lang_notpublic;
	if (message) alert(message);
}

function submitFailedPublic(res, obj){
	alert(lang_updatefailed);
}


function AjaxSubmitPublic(formname)
{
	var url = $(formname).action;
	var httpmethod = $(formname).method;

	var Param = Form.serialize(formname);


	var success	= function(t){submitCompletePublic(t, formname);}
	var failure	= function(t){submitFailedPublic(t, formname);}
	var myAjax = new Ajax.Request (
	url,
	{method:httpmethod, parameters:Param, onSuccess:success, onFailure:failure}
	);
}
/********************************************************************/	
function AjaxProcessSMSPayment(formname)
{
	var url = $(formname).action;
	var httpmethod = $(formname).method;
	var Param = Form.serialize(formname);

	var success	= function(t){submitCompleteSMSPayment(t, formname);}
	var failure	= function(t){submitFailedSMSPayment(t, formname);}

	$('loading_img').style.display = "block";
	$('close_button').style.display = "none";
	$('error_info').style.display = "none";
	var myAjax = new Ajax.Request (
	url,
	{method:httpmethod, parameters:Param, onSuccess:success, onFailure:failure}
	);

}

function submitCompleteSMSPayment(res, formname)
{
	var JSONobj = eval('('+ res.responseText +')');
	if (JSONobj.body!="")
	{
		$('form_email').style.display = JSONobj.info=="register" ? "block" : "none";
		$('form_div').style.display = 'none';
		if (JSONobj.info=="register")
		{
			$('form_email').style.display = "block";
			$('message').style.display = "block";
			$('message').innerHTML = JSONobj.body;
			$('reginfo').style.display = "block";
		}
		else
		{
			$('form_email').style.display = "none";
			$('updateinfo').style.display = "block";
		}
		$('info_div').style.display = "block";
	}
	else
	{
		$('loading_img').style.display = 'none';
		$('close_button').style.display = "block";
		
		$('error_info').innerHTML = JSONobj.error;
		$('error_info').style.display = "block";
	}
}

function submitFailedSMSPayment(res, formname){
	$('loading_img').style.display = 'none';
	$('close_button').style.display = "block";
	$('reginfo').innerHTML = lang_regfailed;
}


/*************************************************************/
function AjaxSubmitEmail(formname)
{
	var url = $(formname).action;
	var httpmethod = $(formname).method;
	var Param = Form.serialize(formname);

	var success	= function(t){submitCompleteEmail(t, formname);}
	var failure	= function(t){submitFailedEmail(t, formname);}

	var myAjax = new Ajax.Request (
	url,
	{method:httpmethod, parameters:Param, onSuccess:success, onFailure:failure}
	);

}

function submitCompleteEmail(res, formname)
{
	var JSONobj = eval('('+ res.responseText +')');
	if (JSONobj.body!="")
	{
		$("new_email").innerHTML = JSONobj.body;
		$("new_email").style.display = "block";
		$('form_email').style.display = 'none';
		if (($('doredirect')!=null) && $F("doredirect"))
		{
			window.location.href=$F("doredirect");
		}
		else { 
			window.location.href=window.location.href;
		}
	}
	else
	{
		$('email_error').innerHTML = JSONobj.error;
	}
}

function submitFailedEmail(res, formname){
	$('email_error').innerHTML = lang_regfailed;
}

/*****************************************************************/
function openMyWin(myUrl, myWidth, myHeight, origLeft, origTop)
{
 myHeight += 24;
 myWidth += 24;

 TheImgWin = window.open(myUrl,'urll','height=' +
 myHeight + ',width=' + myWidth +
 ',toolbar=no,directories=no,status=no,' +
 'menubar=yes,scrollbars=yes,resizable=yes');

 TheImgWin.resizeTo(myWidth+2, myHeight + 30);
 TheImgWin.moveTo(origLeft, origTop);
 TheImgWin.focus();
}


function showPopupDiv(tariff,handle)
{
	if (tariff==4) { 
		$('steps-4').show();
		$('steps-1').hide();
	} else {
		$('steps-4').hide();
		$('steps-1').show();
	}
	
	document.getElementById('tariff').value = tariff;
	AjaxLoadData('infoform','smscountries');
	return overlay(handle,'popup');
}


function AjaxLoadData(formname,info)
{
	document.getElementById('actinfo').value = info;
	
	var url = $(formname).action;
	var httpmethod = $(formname).method;
	var Param = Form.serialize(formname);
	var success	= function(t){submitCompleteLoadData(t, formname,info);}
	var failure	= function(t){submitFailedLoadData(t, formname,info);}
	
	if(document.getElementById("div"+info))
	{
		document.getElementById('div'+info).innerHTML = "";
	}
	else
	{
		document.getElementById('smstext').innerHTML = "";
	}
	document.getElementById('loading_'+info).style.display = "block";
	var myAjax = new Ajax.Request (
	url,
	{method:httpmethod, parameters:Param, onSuccess:success, onFailure:failure}
	);
}

function submitCompleteLoadData(res, formname, info)
{
	var JSONobj = eval('('+ res.responseText +')');
	if (JSONobj.error!="")
	{
		alert(JSONobj.error);
	}
	else
	{
		if (info=='smscountries') {
			document.getElementById('divsmscountries').innerHTML = JSONobj.body;
			document.getElementById('divoperator').innerHTML = "";
			document.getElementById('smstext').innerHTML = "";
			document.getElementById('shortsmstext').innerHTML = "";
			document.getElementById('deftext').style.display = "block";
			document.getElementById('loading_smscountries').style.display = "none";
			AjaxLoadData(formname,"operator");
		}
		if (info=="operator")
		{
			document.getElementById('divoperator').innerHTML = JSONobj.body;
			document.getElementById('smstext').innerHTML = "";
			document.getElementById('shortsmstext').innerHTML = "";
			document.getElementById('deftext').style.display = "block";
			document.getElementById('loading_operator').style.display = "none";
		}
		if (info=="smstext") 
		{ 
			if (JSONobj.body!="")
			{
				document.getElementById('smstext').innerHTML = JSONobj.body;
				document.getElementById('shortsmstext').innerHTML = JSONobj.body2;
				document.getElementById('deftext').style.display = "none";
				document.getElementById('loading_smstext').style.display = "none";
				document.getElementById('smstext').style.display = "block";
			}
			else
			{
				document.getElementById('smstext').innerHTML = "";
				document.getElementById('shortsmstext').innerHTML = "";
				document.getElementById('deftext').style.display = "block";
				document.getElementById('loading_smstext').style.display = "none";
				document.getElementById('smstext').style.display = "block";
			}
		}
	}
}

function submitFailedLoadData(res, formname, info){
}


function submitPayment(plan_id,gateway)
{
	document.getElementById('plan_id').value = plan_id;
    document.getElementById('gateway').value = gateway;
    document.payform.submit();
}


function SetAllCheckBoxes(FormName, FieldName, CheckValue)
{
	if(!document.forms[FormName])
		return;
	var objCheckBoxes = document.forms[FormName].elements[FieldName];
	if(!objCheckBoxes)
		return;
	var countCheckBoxes = objCheckBoxes.length;
	if(!countCheckBoxes)
		objCheckBoxes.checked = CheckValue;
	else
	// set the check value for all check boxes
		for(var i = 0; i < countCheckBoxes; i++)
			objCheckBoxes[i].checked = CheckValue;
}

function deleteFiles(FormName, ConfirmText)
{
	if (!document.forms[FormName])
 	  		return;
  	document.forms[FormName].act.value = "delfiles";
	if (confirm(ConfirmText))
	document.forms[FormName].submit();
}
  
function changeValue(Id, NewValue)
{
	if (!document.getElementById(Id))
		return;
	document.getElementById(Id).value = NewValue;
}
function moveFiles(ConfirmText,TargetFolderId)
{
	if (TargetFolderId<0) return;
	if (!document.forms['filesoperationform'])
  	return;
  	document.forms['filesoperationform'].act.value = "movefiles";
  	document.forms['filesoperationform'].targetfid.value = TargetFolderId;
	if (confirm(ConfirmText))
	{
		document.forms['filesoperationform'].submit();
	}
		
}

function createLinks(ConfirmText,TargetFolderId)
{
	if (TargetFolderId<0) return;
	if (!document.forms['filesoperationform'])
  	return;
  	document.forms['filesoperationform'].act.value = "createlinks";
  	document.forms['filesoperationform'].targetfid.value = TargetFolderId;
	//if (confirm(ConfirmText))
	//{
		document.forms['filesoperationform'].submit();
	//}
		
}

function popupAds(url)
{
   var browser = window.navigator.userAgent;
   if (browser.indexOf("Opera") == -1 && browser.indexOf("Chrome") == -1) 
   {
        pop = window.open(url, '_blank', 'toolbar=yes, location=yes, directories=yes, status=yes, menubar=yes, scrollbars=yes, resizable=yes, copyhistory=yes');
        pop.blur();
   }
}


 function validate_email(email_id, error_id) {
     var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
     var address = $F(email_id);
     if(reg.test(address) == false) {
	 $(error_id).show();
	 return false;
     }
     $(error_id).hide();
 }