/*
 *  gwebFramework...
 *  2007-01-15 13:43
 */
	var pageRefresh =0;
	var loadingDivHtml = "<br><center><img src='img/loader.gif'>&nbsp;Lütfen Bekleyiniz...</center>";
	
	function createXmlHttpObj(){
		try {
			objXmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e){
			try{
				objXmlHttp= new ActiveXObject("Microsoft.XMLHTTP");
			} catch (E){
				objXmlHttp = false;
			}
		}
		if (!objXmlHttp && typeof XMLHttpRequest!='undefined'){
			objXmlHttp = new XMLHttpRequest();
		}
		return objXmlHttp;
	}

	function getAttributeWithId(getId,getProperty){
		var getId;
		var getProperty;
		if(navigator.userAgent.indexOf("MSIE")>=0){
		var e = document.getElementById(getId);
			for(var i=0;i<e.attributes.length;i++){
				if(e.attributes[i].nodeName==getProperty){
					return e.attributes[i].nodeValue;
				}
			}
		} else {
			var e1 = document.getElementById(getId);
			try{
				if(e1!=null)
					return e1.getAttribute(getProperty);
				return null;
			}catch(err){
				//alert(err);
			}
		}
	}
	
	function setAttributeWithId(setId,setProperty,setValue){
		var setId;
		var setProperty;
		var setValue;
		if(navigator.userAgent.indexOf("MSIE")>=0){
		var e = document.getElementById(setId);
			for(var i=0;i<e.attributes.length;i++){
				if(e.attributes[i].nodeName==setProperty){
					try {
						e.attributes[i].nodeValue=setValue;
						return true;
					} catch (e) {
						return false;
					}
				}
			}
		} else {
			var e1 = document.getElementById(setId);
			try{
				e1.setAttribute(setProperty,setValue);
				return true;
			}catch(err){
				return false;
			}
		}
	}
	
	function setDisplay(setId,setDisplayValue){
		document.getElementById(setId).style.display = setDisplayValue;
	}
	
	function setValueById(setValId,setVal){
		var setVal;
		var setValId;
		document.getElementById(setValId).value = setVal;
	}
	
	function getValueById(getValId){
		var getValId;
		return document.getElementById(getValId).value;
	}
	
	function setFocus(getFocusId){
		var getFocusId;
		document.getElementById(getFocusId).focus();		
	}
	
	function submitButtonDisable(frmName){
		var frmName;
		var frm = document.forms[frmName];
		var frmLength = frm.length;
		for(var i=0;i<frmLength;i++){
			if(frm.elements[i].type=='submit'){
				try {
					setAttributeWithId(frm.elements[i].id,'disabled','false');
				} catch (e) {
					// TODO error handler yazılacak
				}
			}
		}
	}
	
// disable F5 key
	if (navigator.appVersion.indexOf("MSIE")==-1){
		document.onkeydown = function(event){
			var keyNum = event.keyCode*1;
			if(keyNum==116 && pageRefresh==1){
				alert('F5 Tuşunu Kullanmayınız!');
				try {
					void(0);
					return false;
				} catch (e) {
					// TODO: handle exception
					alert(e.message);
				}
			}
		}
	} else {
		document.onkeydown = function(){
			if(window.event && window.event.keyCode == 116 && pageRefresh==1) {
				window.event.keyCode = 505;
			}

			if(window.event && window.event.keyCode == 505) {
				alert('F5 Tuşunu Kullanmayınız!');
				return false; 
			}
		}
	}
	
	function loadDivContent(divId,divContent){
		var divId;
		var divContent;
		if(document.getElementById(divId).style.display=="none"){
			document.getElementById(divId).style.display ="block";
		}
		//fade(divId,1000,1);
		document.getElementById(divId).innerHTML = divContent;
	}
	
	function sendAjaxRequest(url,divTarget,params){
		var divTarget;
		var url;
		var params;
		var i=0;
		var splArray = Array;
		var _objXmlHttp = createXmlHttpObj();
		
		if(params.length==0 || params==""){
			_objXmlHttp.open("GET",url,true);
			params=null;
		} else {
			_objXmlHttp.open("POST",url,true);
			_objXmlHttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=ISO-8859-9');
		}

		_objXmlHttp.send(params);
		loadDivContent(divTarget,loadingDivHtml);
		_objXmlHttp.onreadystatechange = function(){
	    	if (_objXmlHttp.readyState==4){
				switch(_objXmlHttp.status) {
					case 200: 
						if(_objXmlHttp.responseText.indexOf("function")>0){
							splArray = _objXmlHttp.responseText.split("function");
							if(eval(splArray[1])){
								splArray[1];
							}
							loadDivContent(divTarget,splArray[0]);
						} else {
							loadDivContent(divTarget,_objXmlHttp.responseText);
						}
					break;
					case 404:
						loadDivContent(getDiv,"Sayfa Bulunamadı..");
					break;
					default:
						// 
					break;
				}
			} else {
				// loading devam ediyor..
			}
		}
	}
	
		
	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;
	}
	
	function resetFormValue(getFormId){
		var getFormId;
		var ids = getFormId.substr(0,getFormId.length-1);
		var idArr = ids.split(",");
		var idAndType;
		writeConsole(getFormId);
		for(var i=0;i<idArr.length;i++){
			idAndType = idArr[i].split("_");
			switch(idAndType[1]){
				case "text":
					setValueById(idAndType[0],"");
				break;
				case "select-one":
					document.getElementById(idAndType[0]).selectedIndex=0;
				break;
				case "textarea":
					setValueById(idAndType[0],"");
				break;
			}
		}
	}
	
	function formValidator(formName,retType){
		var retVal= false;
		var retType;
		var formName;
		var  requiredName = String;
		requiredName = "";
		
		try{
			var form = document.forms[formName];
		} catch(e)
		{
			alert(e);
			return false;
		}
		
		var frmLength = form.elements.length;
		var frmElName ="";
		var frmInputText="";
		var ret=true;
		var res;
		var cssClass;
		var retFormVal =String;
		retFormVal = "";
		var r =["",""];
		for(var i=0;i<frmLength;i++){
			frmElName = form.elements[i].name;
			res =null;
			if(form.elements[i].type!='submit' && form.elements[i].type!='button'){
				frmInputText += frmElName+"_"+form.elements[i].type+",";
				res = getAttributeWithId(frmElName,'required');
				if(res!=null){
					var per = getValueById(frmElName);
					if(res=="email"){
						r = validEmail(per);
					} else {
						r[0]= true;
					}
					if(per=="" || r[0]==false){
						ret = false;
						//setAttributeWithId(frmElName,'style','border:#e12323 solid 1px;');
						form.elements[i].style.backgroundColor="#FFBFBF";
					} else {
						form.elements[i].style.backgroundColor="#FFFFFF";
						retFormVal += "&"+frmElName+"="+per;
					}
				} else {
					retFormVal += "&"+frmElName+"="+getValueById(frmElName);
				}
			}
		}

		if(retType==1){
			return [ret,retFormVal];
		} else {
			return ret;
		}
	}
	
	function formReset(frm){
		var d = document.forms[frm];
		d.reset();
	}
	
	function goodchars(e, goods){
		var key, keychar;
		key = getkey(e);
		if (key == null) return true;
	
		// get character
		keychar = String.fromCharCode(key);
		keychar = keychar.toLowerCase();
		goods = goods.toLowerCase();
		
		// check goodkeys
		if (goods.indexOf(keychar) != -1){
			return true;
		}
			
		
		// control keys
		if ( key==null || key==0 || key==8 || key==9 || key==13 || key==27 )
		   return true;
		
		// else return false
		return false;
	}

	function getkey(e){
		if (window.event)
			return window.event.keyCode;
		else if (e)
			return e.which;
		else
			return null;
	}
	function validEmail(email){
		var retArray = [false,"Geçerli E-mail adresi değil"];
		var filter  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
		if (filter.test(email)){
			retArray[0]	= true;
			retArray[1] = "OK";
		}
		return retArray;
	}
	
	function writeConsole(consoleString){
		var consoleString;
		if(navigator.appVersion.indexOf("MSIE")==+1)
			console.log(consoleString);
	}
	
	
	function $(v) { return(document.getElementById(v)); }
	function $S(v) { return($(v).style); }
	function uni(v,id,s,top) { var ob=$S(id),b=v/100; ob.opacity=b; ob.top=top+'px'; ob.MozOpacity=b; ob.KhtmlOpacity=b; ob.filter="alpha(opacity="+v+")"; }
	function zero(v) { v=parseInt(v); return(!isNaN(v)?v:0); }

	function fade(id,ln,s) {
		var top=zero(parseInt($S(id).top));

		function opacity(oStart,oEnd,ln) { 
			var speed=Math.round(ln/100),timer=0;
			if(oStart>oEnd) { 
				for(i=oStart; i>=oEnd; i--) { 
					setTimeout("uni("+i+",'"+id+"','','"+(top--)+"')",timer*speed); 
					timer++; 
				} 
				setTimeout("$S('"+id+"').display='none';",timer*speed); 
			} else if(oStart<oEnd) {
				$S(id).display='inline'; 
				for(i=oStart; i<=oEnd; i++) { 
					setTimeout("uni("+i+",'"+id+"','"+1+"','"+(top++)+"')",timer*speed);
					timer++; 
				} 
			}
		}
	
		if(s==1 || (!s && $S(id).opacity==0)) 
			opacity(0,100,ln); 
		else 
			opacity(100,0,ln);
			
	}
	/*
		fade('test1',100,1)Fade in @ 100ms
		fade('test1',100)Fade out @ 100ms
		fade('test2',1000,1)Fade in @ 1000ms
		fade('test2',1000)Fade out @ 1000ms
	 */
	
		