String.prototype.trim = function() {return this.replace(/^\s+|\s+$/g,"");}
String.prototype.ltrim = function() {return this.replace(/^\s+/,"");}
String.prototype.rtrim = function() {return this.replace(/\s+$/,"");}

var FIELD_TYPE_TEXT=1;
var FIELD_TYPE_TEXT_AREA=2;
var FIELD_TYPE_CHECKBOX=3;
var FIELD_TYPE_RADIO=4;
var FIELD_TYPE_SELECT=5;
var FIELD_TYPE_HTML_EDITOR=6;
var FIELD_TYPE_DIV=7;
var FIELD_TYPE_PASSWORD=8;
var FIELD_TYPE_CONFIRM_PWD=9;
var FIELD_TYPE_SAVE_BUTTON=10;
var FIELD_TYPE_PICTURE=11;

function selectFormData(calledBy,justLoginForms){
	if (typeof justLoginForms=="undefined"){
		justLoginForms="yes";
	}

	var url="/admin/common/select_form_data_container.php?calledBy="+calledBy+"&justLoginForms="+justLoginForms;
	window.showModalDialog(url, self, "center:yes;resizable:yes;dialogWidth:700px");
}

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 clearChildFields(mainFieldId,index){
	var childDefIndexMainField="";
	if (index!=null){
		childDefIndexMainField=mainFieldId+"_"+index;
	}
	else childDefIndexMainField=mainFieldId;

	if (childFieldDefaults.get(childDefIndexMainField)==null) return;
	if (childFieldDefaults.get(childDefIndexMainField).keys.length==0) return;
		
	childFieldDefaults.get(childDefIndexMainField).each(function (childFieldProp){
			$(childFieldProp.key).options.length=0;
			var option=document.createElement("option");
			option.value=childFieldDefaults[childDefIndexMainField][childFieldProp.key];
			option.text="Seçiniz";
			$(childFieldProp.key).options.add(option);
		}
	)

}

//recId raporda update olan alanlardan geliyor.
function getDependOnFieldData(e,fieldElId){
	//alert(fieldElId);
	if (e!=null){
		el = Event.element(e);
		fieldElId=el.id;
	}
	else{
		el=$(fieldElId);
	}

	var underscoreCount=0;
	for(var ii=0;ii<fieldElId.length;ii++){
		if (fieldElId.charAt(ii)=="_"){
			underscoreCount++;
		}
	}
	
	var queryId=el.readAttribute("queryId");
	var queryFieldId=el.readAttribute("queryFieldId");
	
	var paramStr="progress=getDependOnFieldData";
	var fieldId=null;
	var index=null;

	//alt çizgi sayısı 2 ise bu bir yatay form girişidir ve ikinci sıra indexını ilk alan id sini gösterir.
	if (underscoreCount==2){
		var arrField=fieldElId.split("_");
		fieldId=arrField[1];
		index=arrField[2];
		paramStr+="&fieldId="+fieldId+"&fieldValue="+$(fieldElId).value+"&index="+index;
	}
	//alt çizgi 3 ise rapordan gelen güncelleme alanı.
	else if (underscoreCount==3){
		var arrField=fieldElId.split("_");
		fieldId=arrField[1];
		index=arrField[2];
		recId=arrField[3];
		paramStr+="&fieldId="+fieldId+"&fieldValue="+$(fieldElId).value+"&index="+index+"&recId="+recId;
	}
	else{
		fieldId=fieldElId.replace("field_","");
		if (queryFieldId!=null){
			paramStr+="&fieldId="+fieldId+"&fieldValue="+$(fieldElId).value+"&queryId="+queryId+"&queryFieldId="+queryFieldId;
		}
		else{
			paramStr+="&fieldId="+fieldId+"&fieldValue="+$(fieldElId).value;
		}
	}
	
	clearChildFields(fieldId,index);
	var url=commonPhpUrl+"?"+paramStr;
	new Ajax.Request(url, 
			{
				onComplete:function (request){
					request.responseText.evalScripts();
				}
		});
}

function calculateFormula(formula){
	formFieldList.each(function (field){
			var shortName=field.value.get("formulaName");
			var fieldId=field.value.get("fieldId");
			
			if (formulaName!=""){
				
				//rexp = new RegExp("\\b"+formulaName+"\\b","g"); 
	       		var fieldValue=0;
				var type=field.value.get("type");
				switch (type){
			 		case FIELD_TYPE_TEXT:
			 			fieldValue=$("field_"+fieldId).value;
			 			break;
			 			
			 		case FIELD_TYPE_DIV:
			 			fieldValue=$("field_"+fieldId).innerHTML;
			 			break;
			 	}
			 	if (fieldValue=="") 
			 		fieldValue=0;
			 	else{
			 		fieldValue=fieldValue.replace(/\./g,"");
			 		fieldValue=fieldValue.replace(/\,/g,".");
			 	}
				//formula=formula.replace("\\b"+formulaName+"\\b/g",fieldValue);
				formula=formula.replace(formulaName,fieldValue);
				
			}
		}
	)
	
	var result=0;
	
	try{
		eval("result="+formula);
		}
	catch(err){}
		
	return result;
}

function findAndCalculateField(){
	formFieldList.each(function (field){
			if (field.value.get("dataSource")==4){
				var formula=field.value.get("formula");
				var result=formatCurrency(calculateFormula(formula),0);
				var type=field.value.get("type");
				var fieldId=field.value.get("fieldId");
				
				switch (type){
			 		case FIELD_TYPE_TEXT:
			 			$("field_"+fieldId).value=result;
			 			break;
			 			
			 		case FIELD_TYPE_DIV:
			 			$("field_"+fieldId).innerHTML=result;
			 			break;
			 	}
				
			}
		}
	)
}

function formatCurrency(strValue,currencyId)
{
	if (strValue==null) return;
	if (currencyId==null) currencyId=0;

	if (strValue=="") strValue=0;
	
	//strValue=strValue.toString().replace(".","");
	//strValue=strValue.toString().replace(",",".");
	strValue = strValue.toString().replace(/\$|\,/g,'');
	dblValue = parseFloat(strValue);

	blnSign = (dblValue == (dblValue = Math.abs(dblValue)));
	dblValue = Math.floor(dblValue*100+0.50000000001);
	intCents = dblValue%100;
	strCents = intCents.toString();
	dblValue = Math.floor(dblValue/100).toString();
	if(intCents<10)
		strCents = "0" + strCents;
	for (var i = 0; i < Math.floor((dblValue.length-(1+i))/3); i++)
		dblValue = dblValue.substring(0,dblValue.length-(4*i+3))+'.'+
		dblValue.substring(dblValue.length-(4*i+3));
	if (currencyId==0)
		return (((blnSign)?'':'-') + dblValue + ',' + strCents);
	else
		return (((blnSign)?'':'-') + dblValue + ',' + strCents);
}


function getElementByAttribute(attributeName,attributeValue,tagList){
	var foundEl=null;

	if (tagList==null){
		$A(document.getElementsByTagName("select")).each(function (el){
				if ($(el.id).readAttribute(attributeName)==attributeValue){
					foundEl=$(el.id);
				}
			});
	}
	else{
		var arrTag=tagList.split("|");
		arrTag.each(function (tag){
			$A(document.getElementsByTagName(tag)).each(function (el){
							if (el.id!=""){ 
								if ($(el.id).readAttribute(attributeName)==attributeValue){
									foundEl=$(el.id);
								}
							}
						});		
		});
	}
	return foundEl;
}

function checkFieldsViewConditions(){
	for (var ii=0;ii<fieldViewCond.length;ii++){
		eval("if ("+fieldViewCond[ii]["conditonStr"]+"){$('"+fieldViewCond[ii]["areaDivId"]+"').style.display='block';} else{$('"+fieldViewCond[ii]["areaDivId"]+"').style.display='none';};");
	}
}


function parseWeatherResponse(response,index) {
	var xmlobject = response.responseXML;
	counter = 0;
	data = "<table webfield='yes' index='"+index+"' border='0' align='center' width='100%'><tr>";
	var imgurl = xmlobject.documentElement.firstChild.getAttribute('imagerelativeurl');

	for(i = 0; i<xmlobject.documentElement.firstChild.childNodes.length;i++) {
		var img = xmlobject.documentElement.firstChild.childNodes[i].getAttribute("skycodeday");
		if(img != null) {
			if(dayCount > counter) {
				var day = xmlobject.documentElement.firstChild.childNodes[i].getAttribute("day");
				var high = xmlobject.documentElement.firstChild.childNodes[i].getAttribute("high");
				var low = xmlobject.documentElement.firstChild.childNodes[i].getAttribute("low");
				var skytextday = xmlobject.documentElement.firstChild.childNodes[i].getAttribute("skytextday");
				data += "<td indicateWebField='yes' index='"+index+"' align='center'>"+day + '<br /><img indicateWebField="yes" src="' + imgurl + img + '.gif"><br />'+low+"&#176; / "+high+"&#176; <br />" + skytextday + "</td>";
				counter++;	
			}
		}
	}
	
	$(areaDivId).innerHTML=data + "</tr></table>";
}

function openUrl(url,isNewWin,width){
	if (isNewWin==1){
		window.open(url,"mywin","resizable=1,width="+width);
	}
	else if (isNewWin==2){
		window.showModalDialog(url,"mywin","center:yes,resizable=1,dialogWidth="+width);
	}	
	else{
		document.location=url;
	}
}

function styleChange(e){
	if (lastHoverEl!=null){
		lastHoverEl.removeClassName("style_"+catStyleIdOnHover);
		lastHoverEl.addClassName("style_"+catStyleId);
	}
	
	el = Event.element(e);
	if (el.tagName!="TABLE"){
		//ana element olan tabloyu bulasıya dön
		while(true){
			var parentEl=el.up();
			if (parentEl.tagName=="TABLE"){
				el=parentEl;
				break;
			}
			el=parentEl;
		}
	}
	
	el.addClassName("style_"+catStyleIdOnHover);
	el.removeClassName("style_"+catStyleId);
	lastHoverEl=el;
}

function body_mouseover(e){
	activeEl=Event.element(e);
	
	if (typeof activeMenuId!="undefined"){
		if (activeMenuId>0){
			if (!activeEl.descendantOf("menu_"+activeMenuId)){
				collapseMenu();
				activeMenuId=0;
			}
		}
	}
}

function addToBasketAjax(recId,index){
    if (index!=null){
        var imgEl=$("img_"+index);
        if (imgEl){
            var oldSrc=$(imgEl).src;
            $(imgEl).src="/images/ajax-loader_16.gif";
        }
    }
    new Ajax.Request('/commerce/basket.php?progress=addToBasket&withAjax=yes&recId='+recId,{onSuccess:function(r){if ($(imgEl)) $(imgEl).src=oldSrc;r.responseText.evalScripts();}});
}

function sendSmsFromField(formId,fieldId,recId){
    GB_show("SMS Gönder", "/common_web_admin/send_sms.php?formId="+formId+"&fieldId="+fieldId+"&recId="+recId);
}

function sendSmsFromReport(){
    $('frm').action="/common/send_sms_from_report.php?progress=setNumbers";
    $('frm').request({onComplete: function (){GB_show("SMS Gönder", "/common/send_sms_from_report.php")} })
}

function sendSmsFromReportAdmin(){
    $('frm').action="/common_web_admin/send_sms_from_report.php?progress=setNumbers";
    $('frm').request({onComplete: function (){GB_show("SMS Gönder", "/common_web_admin/send_sms_from_report.php")} })
}
