var isNN = (navigator.appName.indexOf("Netscape") != -1);
var isIE = (navigator.appName.indexOf("Microsoft") != -1);


var Url = {
    encode : function (string) {
        return escape(this._utf8_encode(string));
    },

    decode : function (string) {
        return this._utf8_decode(unescape(string));
    },

    _utf8_encode : function (string) {
        string = string.replace(/\r\n/g,"\n");
        var utftext = "";

        for (var n = 0; n < string.length; n++) {

            var c = string.charCodeAt(n);

            if (c < 128) {
                utftext += String.fromCharCode(c);
            } else if((c > 127) && (c < 2048)) {
                utftext += String.fromCharCode((c >> 6) | 192);
                utftext += String.fromCharCode((c & 63) | 128);
            } else {
                utftext += String.fromCharCode((c >> 12) | 224);
                utftext += String.fromCharCode(((c >> 6) & 63) | 128);
                utftext += String.fromCharCode((c & 63) | 128);
            }
        }
        return utftext;
    },

    _utf8_decode : function (utftext) {
        var string = "";
        var i = 0;
        var c = c1 = c2 = 0;

        while ( i < utftext.length ) {
            c = utftext.charCodeAt(i);
            if (c < 128) {
                string += String.fromCharCode(c);
                i++;
            } else if((c > 191) && (c < 224)) {
                c2 = utftext.charCodeAt(i+1);
                string += String.fromCharCode(((c & 31) << 6) | (c2 & 63));
                i += 2;
            } else {
                c2 = utftext.charCodeAt(i+1);
                c3 = utftext.charCodeAt(i+2);
                string += String.fromCharCode(((c & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63));
                i += 3;
            }
        }
        return string;
    }
}

String.prototype.trim = function () {
    return this.replace(/^\s*/, "").replace(/\s*$/, "");
}
var drag=false;

function move(e){
	if (!e) e = window.event;
	if (drag){
		var XL = dx + e.clientX - x;
		var YT = dy + e.clientY - y;
		d.style.left = XL + "px";
		d.style.top  = YT + "px";
		return false;
	}
}

function down(e){
	if (!e) e = window.event;
	var temp = (typeof e.target != "undefined")?e.target:e.srcElement;
	if(temp.tagName=='INPUT' || temp.tagName=='TEXTAREA'){
		temp.setAttribute('autocomplete','off');
		temp.focus();
	}else if (temp.tagName != "HTML"|"BODY" && temp.className != "dragbox"){
		temp = (typeof temp.parentNode != "undefined")?temp.parentNode:temp.parentElement;
	}
	if (temp.className == "dragbox"){
		drag = true;
		d = temp;
		dx = parseInt(temp.style.left+0);
		dy = parseInt(temp.style.top+0);
		x = e.clientX;
		y = e.clientY;
		document.onmousemove = move;
		return false;
	}
}

function up(){
	drag = false;
	document.onmousemove = null;
}

document.onmousedown = down;
document.onmouseup = up;

function xmlal(url){
	if(isIE){
		var httpOb = new ActiveXObject("Microsoft.XMLHTTP");
		httpOb.Open("POST",url, false);
		httpOb.send(null);
		var xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
		xmlDoc.load(httpOb.responseXML);
	}else{
		httpOb = new XMLHttpRequest();
		httpOb.open("GET", url, false);
		httpOb.send(null);
		xmlDoc=httpOb.responseXML;
	}
	if(!xmlDoc){
		return false;
	}else{
		return xmlDoc;
	}
}

function ackapa(check,id){
	if(check){
		document.getElementById(id).style.display='inline';
	}else{
		document.getElementById(id).style.display='none';
	}
}

// element disabled
function doDisabled(a,bool){
	if(bool){
		document.getElementById(a).disabled= true;
		document.getElementById(a).className= "e_disabled";
	}else{
		document.getElementById(a).disabled= false;
		document.getElementById(a).className= "e_enabled";
	}
}

function xmlyukle(url, fonk, c){
	var httpOb=null
	if(isIE){
		httpOb = new ActiveXObject("Microsoft.XMLHTTP");
	}else{
		httpOb = new XMLHttpRequest();
	}
	if (httpOb!=null){
		httpOb.onreadystatechange= function (){
			if (httpOb.readyState==4 && httpOb.status==200) {
				if(isIE){
					var xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
					xmlDoc.async=false;
					xmlDoc.loadXML(httpOb.responseText);
				}else{
					xmlDoc=httpOb.responseXML;
				}

				if(xmlDoc) {
					if(xmlDoc.documentElement){
						var sonuc = new Array();
						for(i=0 ; i < xmlDoc.documentElement.childNodes.length ; i++){
							tagname = xmlDoc.documentElement.childNodes[i].tagName;
							if(isIE) deger=xmlDoc.documentElement.childNodes.item(i).text;
							else deger=xmlDoc.documentElement.childNodes.item(i).firstChild.nodeValue;
							sonuc[i] = new Array();
							sonuc[i]['deger'] = deger;
							sonuc[i]['tag'] = tagname;
						}
						eval( fonk+'(sonuc);' );
					}
				}
			}
		}
		if(c){
			httpOb.open("POST",url,true);
			httpOb.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
      		httpOb.send(c);
		}else{
			httpOb.open("GET",url,true);
			httpOb.send(null);
		}
	}
}

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 getkey(e) {
	if (window.event)
	return window.event.keyCode;
	else if (e)
	return e.which;
	else
	return null;
}

function goodchars(e, goods) {
	var key, keychar;
	key = getkey(e);

	if (key == null) return true;

	keychar = String.fromCharCode(key);
	keychar = keychar.toLowerCase();

	goods = goods.toLowerCase();

	if (goods.indexOf(keychar) != -1)
	return true;

	if ( key==null || key==0 || key==8 || key==9 || key==13 || key==27 )
	return true;

	return false;
}

function badchars(e, bads) {
	var key, keychar;
	key = getkey(e);

	if (key == null) return true;

	keychar = String.fromCharCode(key);
	keychar = keychar.toLowerCase();

	bads = bads.toLowerCase();

	if ( key==null || key==0 || key==8 || key==9 || key==13 || key==27 )
	return true;

	if (bads.indexOf(keychar) == -1)
	return true;

	return false;
}

function isArray(obj) {
	if (obj.constructor.toString().indexOf("Array") == -1)
		return false;
	else
		return true;
}

function select_row(id, bg_color, rows)
{
	var newbg='#fcfdce';
	if (!isArray(rows)) {
		var rows = new Array(rows);
	}
           
	for (key in rows) {
		if (document.getElementById("chk_" + id).checked == true)   
			document.getElementById(rows[key] + id).style.backgroundColor = newbg;
		else
			document.getElementById(rows[key] + id).style.backgroundColor = bg_color;
	}
}

function check_all(formname, control_element) {
    var obj=document.getElementById(formname);
    for (var i=0; i<obj.elements.length;i++) {
        var currentElement = obj.elements[i];
        var currentType = currentElement.type;
        if(currentType=='checkbox') {
            if (currentElement.checked == true) {
                currentElement.checked = false;
            } else {
                currentElement.checked = true;
            }
        }
    }    
}

function select_all(formname, control_element, bg_colors, rows)
{
	var newbg='#fcfdce';
	var j=0;
	var bg_color='';
	var curr_element='';
	var obj=document.getElementById(formname);

    if (rows != false) {
	    if (!isArray(rows)) {
		    var rows = new Array(rows);
	    }
    }
    if (bg_colors!=false) {
	    if (!isArray(bg_colors)) {
		    var bg_colors = new Array("#efefef", "#ffffff");
	    }
    }

	for (var i=0; i<obj.elements.length;i++) {
    	var currentElement = obj.elements[i];
    	var currentType = currentElement.type;
		if(currentType=='checkbox') {
			currentElement.checked=control_element.checked;        
			if (currentElement.id!=control_element.id) {
				curr_element=currentElement.id;
				curr_element=curr_element.replace('chk_','');

				if (bg_colors!=false)
					j++;      
					for (key in rows) {    
						if (control_element.checked == true)
							document.getElementById(rows[key] + curr_element).style.backgroundColor = newbg;
						else{ 
							document.getElementById(rows[key] + curr_element).style.backgroundColor = bg_colors[(j % 2)];}
					}        
			}
		}
	}
}

function popup(link_url, windowname, w, h, scroll)
{
	var win= null;
	var x = (screen.width - w - 10) / 2;
	var y = (screen.height - h - 50) / 2;
	var settings  ='toolbar=0,';
	var href;
	if (typeof(link_url) == 'string')
	   href=link_url;
	else
	   href=link_url.href;

	settings +='scrollbars='+scroll+',';

	settings +='location=0,';
	settings +='statusbar=0,';
	settings +='menubar=0,';
	settings +='resizable=0,';
	settings +='left=' + x + ',';
	settings +='top=' + y + ',';
	settings +='width=' + w + ',';
	settings +='height=' + h;

	win = window.open(href, windowname, settings);

	if(parseInt(navigator.appVersion) >= 4)
	{
		win.window.focus();
	}
}

function popup_help(x){
	help_popup = window.open("extra.php?a=1&b="+x, "help_popup", "height=400,width=400");
	return true;
}
function sayiFormat(sayi){
	sayi = parseFloat(sayi).toFixed(2);
	if(isNaN(sayi)) sayi ='0.00';
	pieces = sayi.split('.');
	var str = pieces[0]; var len=0; var x ='';
	while (str !=''){
		len = str.length - 3;
		if(len <0) len = 0;
	    x = str.substr(len, 3) + ( x > "" ? "." + x : "");
	    str = str.substr(0, len);
	}
	var result = x +','+pieces[1];
	return result;
}

function textCounter(field, countfield, maxlimit)
{
	if (field.value.length > maxlimit)
		field.value = field.value.substring(0, maxlimit);
	else
		countfield.innerHTML = maxlimit - field.value.length;
}

function isValidEmail(email){
	var RegExp = /^((([a-z]|[0-9]|!|#|$|%|&|'|\*|\+|\-|\/|=|\?|\^|_|`|\{|\||\}|~)+(\.([a-z]|[0-9]|!|#|$|%|&|'|\*|\+|\-|\/|=|\?|\^|_|`|\{|\||\}|~)+)*)@((((([a-z]|[0-9])([a-z]|[0-9]|\-){0,61}([a-z]|[0-9])\.))*([a-z]|[0-9])([a-z]|[0-9]|\-){0,61}([a-z]|[0-9])\.)[\w]{2,4}|(((([0-9]){1,3}\.){3}([0-9]){1,3}))|(\[((([0-9]){1,3}\.){3}([0-9]){1,3})\])))$/
	if(RegExp.test(email)){
		return true;
	}else{
		return false;
	}
}

function setMaxXY(id){
	document.getElementById(id).style.top= '0px';
	document.getElementById(id).style.left= '0px';
	document.getElementById(id).style.height= document.body.scrollHeight +'px';
	document.getElementById(id).style.width= document.body.scrollWidth +'px';
}

function hide_box(element_id){
	document.getElementById('blockdiv').style.display='none';
	document.getElementById(element_id).style.display='none';
}

function show_box(element_id) {
	document.getElementById('blockdiv').style.display='inline';
	setMaxXY('blockdiv');
	document.getElementById(element_id).style.display='inline';
	if (isIE){
		x = (document.documentElement.clientWidth + document.documentElement.scrollLeft - document.getElementById(element_id).clientWidth) /2 ;
		y = (document.documentElement.clientHeight + document.documentElement.scrollTop - document.getElementById(element_id).clientHeight) /2 ;
	}else{
		x = (window.innerWidth + document.documentElement.scrollLeft - document.getElementById(element_id).clientWidth) /2 ;
		y = (window.innerHeight + document.documentElement.scrollTop- document.getElementById(element_id).clientHeight) /2 ;
	}

	var scrOfX = 0, scrOfY = 0;
	if( typeof( window.pageYOffset ) == 'number' ) {
	//Netscape compliant
	scrOfY = window.pageYOffset;
	scrOfX = window.pageXOffset;
	} else if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) ) {
	//DOM compliant
	scrOfY = document.body.scrollTop;
	scrOfX = document.body.scrollLeft;
	} else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) ) {
	//IE6 standards compliant mode
	scrOfY = document.documentElement.scrollTop;
	scrOfX = document.documentElement.scrollLeft;
	}
	x = x + (scrOfX/2);
	y = y + (scrOfY/2);

	document.getElementById(element_id).style.top = y + 'px';
	document.getElementById(element_id).style.left = x + 'px';
}

// fiyati binler olarak ayirir
function doFiyat(a, th) {
	if(th == ''){
		a = parseInt(a) + '';
	}else if(th == ' '){
		a=parseInt(a.replace(/ /g ,''))+ '';
	}else if(th == '.'){
		a=parseInt(a.replace(/\./g ,''))+ '';
	}else if(th == ','){
		a=parseInt(a.replace(/,/g ,''))+ '';
	}
	var b = "";
	if(a.length > 3){
		while( a.length > 3){
			b = th + a.substr(a.length - 3) + b;
			a = a.substr(0,a.length - 3);
		}
		b = a + b;
	}else{
		b = a;
	}
	if(!b || b=='NaN') b='';
	return b;
}

// ekrana fiyati formatlayip basar
function print_number( number, th, pre, post){
	var x = 0;
    var m = (number+'').split(',');
    if (m[1]) {
        //m[0] = m[0].replace(".", "");
        x = doFiyat(m[0], ".");
        if(parseInt(m[1]) > 0){
            m[1] = m[1] + '0';
            x = x+ '<sup><u>'+ m[1].substr(0,2) + '</u></sup>';
        } else {
            x = x+ '<sup><u>00</u></sup>';
        }
        x = (pre!='' ? pre + ' ':'') + x + (post!=''?' ' + post:'');
    } else {
        var n = (number+'').split('.');
        x = doFiyat(n[0], th);
        if(parseInt(n[1]) > 0){
            n[1] = n[1] + '0';
            x = x+ '<sup><u>'+ n[1].substr(0,2) + '</u></sup>';
        }else{
            x = x+ '<sup><u>00</u></sup>';
        }
        x = (pre!='' ? pre + ' ':'') + x + (post!=''?' ' + post:'');
    }
	return x;
}
function ajax_yap (url) {
	jsrc = document.createElement('script');
	jsrc.type = 'text/javascript';
	jsrc.src = url;
	document.body.appendChild (jsrc);
}

function goster_gizle(obj, a) {
	if (a == 2) {
		//Sadece display'i none yap.
		document.getElementById(obj).style.display = 'none';
	} else if (document.getElementById(obj).style.display == 'inline'
			&& a != 1) {
		document.getElementById(obj).style.display = 'none';
	}else{
		document.getElementById(obj).style.display = 'inline';
	}
}
function format_number(nr) {
	//alert(nr+" --1--")
	var n = (nr+'').split(',');
	if (n[1]) {
		nr = n[0]+"."+n[1];
		nr = nr/1;
		//alert(nr)
		//nr = parseFloat(nr);
	}
	
	if (nr == "") {
		nr = 0;
	}
	                      
	return parseFloat(nr);
}

function isselected(formname)
{
    x=false;
    var obj=document.forms[formname];
    for (var i=0; i<obj.elements.length;i++) {
        var currentElement = obj.elements[i];
        var currentType = currentElement.type;
            if(currentType=='checkbox') { if (currentElement.checked==true) x=true; }
    }
    return x;
}

function openCategories() {
	if (document.getElementById('category_open')) {
		if (document.getBoxObjectFor) {
			var box = document.getBoxObjectFor(document.getElementById('kategoriler'));
			document.getElementById('category_open').style.left = box.x+'px';
			document.getElementById('category_open').style.top = (box.y+box.height+5)+'px';
			
		} else {
			var box = document.getElementById('kategoriler').getBoundingClientRect();
			document.getElementById('category_open').style.left = box.left;
			document.getElementById('category_open').style.top = box.bottom+5;
		}
	}
}

function eventHandler(e) {
	if (e.srcElement) {
		//explorer
		var el = e.srcElement;
	} else if (e.target) {
		//firefox
		var el = e.target;
	}
	
	if (e.pageX || e.pageY) {
		//firefox
		var pageX = e.pageX;
		var pageY = e.pageY;
	} else if (e.clientX || e.clientY) {
		//explorer
		var pageX = e.clientX;
		var pageY = e.clientY;
	}
	var co = document.getElementById('category_open');
	var kat = document.getElementById('kategoriler');
	if ((el.id == 'kategoriler') || (el.id == 'category_open') || (el.id=='cat_table') || (el.id=='kat_span') || (el.id == 'kat_strong') || (el.id == 'kat_a')) {
		openCategories();
		co.style.display='inline';
		if (kat != null) kat.className='mover';
	} else {
		var ileft = parseInt(co.style.left.replace('px',''));
		var itop = parseInt(co.style.top.replace('px', ''))-5;
		var iright = ileft + parseInt(co.style.width.replace('px',''));
		var ibottom = itop + parseInt(co.style.height.replace('px', ''));
		if ((pageX < ileft || pageX > iright) || (pageY < itop || pageY > ibottom)) {
			if (kat != null) kat.className='pasif';
			document.getElementById('category_open').style.display='none';
		}
	}
}


var BrowserDetect = {
    init: function () {
        this.browser = this.searchString(this.dataBrowser) || "An unknown browser";
        this.version = this.searchVersion(navigator.userAgent)
            || this.searchVersion(navigator.appVersion)
            || "an unknown version";
        this.OS = this.searchString(this.dataOS) || "an unknown OS";
    },
    searchString: function (data) {
        for (var i=0;i<data.length;i++)    {
            var dataString = data[i].string;
            var dataProp = data[i].prop;
            this.versionSearchString = data[i].versionSearch || data[i].identity;
            if (dataString) {
                if (dataString.indexOf(data[i].subString) != -1)
                    return data[i].identity;
            }
            else if (dataProp)
                return data[i].identity;
        }
    },
    searchVersion: function (dataString) {
        var index = dataString.indexOf(this.versionSearchString);
        if (index == -1) return;
        return parseFloat(dataString.substring(index+this.versionSearchString.length+1));
    },
    dataBrowser: [
        {
            string: navigator.userAgent,
            subString: "Chrome",
            identity: "Chrome"
        },
        {     string: navigator.userAgent,
            subString: "OmniWeb",
            versionSearch: "OmniWeb/",
            identity: "OmniWeb"
        },
        {
            string: navigator.vendor,
            subString: "Apple",
            identity: "Safari"
        },
        {
            prop: window.opera,
            identity: "Opera"
        },
        {
            string: navigator.vendor,
            subString: "iCab",
            identity: "iCab"
        },
        {
            string: navigator.vendor,
            subString: "KDE",
            identity: "Konqueror"
        },
        {
            string: navigator.userAgent,
            subString: "Firefox",
            identity: "Firefox"
        },
        {
            string: navigator.vendor,
            subString: "Camino",
            identity: "Camino"
        },
        {        // for newer Netscapes (6+)
            string: navigator.userAgent,
            subString: "Netscape",
            identity: "Netscape"
        },
        {
            string: navigator.userAgent,
            subString: "MSIE",
            identity: "Explorer",
            versionSearch: "MSIE"
        },
        {
            string: navigator.userAgent,
            subString: "Gecko",
            identity: "Mozilla",
            versionSearch: "rv"
        },
        {         // for older Netscapes (4-)
            string: navigator.userAgent,
            subString: "Mozilla",
            identity: "Netscape",
            versionSearch: "Mozilla"
        }
    ],
    dataOS : [
        {
            string: navigator.platform,
            subString: "Win",
            identity: "Windows"
        },
        {
            string: navigator.platform,
            subString: "Mac",
            identity: "Mac"
        },
        {
            string: navigator.platform,
            subString: "Linux",
            identity: "Linux"
        }
    ]

};
BrowserDetect.init();


var isChrome = (BrowserDetect.browser == "Chrome");
var isOpera = (BrowserDetect.browser == "Opera");
var isFirefox = (BrowserDetect.browser == "Firefox");
var isExplorer = (BrowserDetect.browser == "Explorer");
var isSafari = (BrowserDetect.browser == "Safari");
