﻿// Common utils and script for KoySepete

 function initXMLHttpClient() {
     var xmlhttp;
     try {
         // Mozilla / Safari / IE7
         xmlhttp = new XMLHttpRequest();
     } catch (e) {
          // IE
          var XMLHTTP_IDS = new Array('MSXML2.XMLHTTP.5.0',
                                     'MSXML2.XMLHTTP.4.0',
                                     'MSXML2.XMLHTTP.3.0',
                                     'MSXML2.XMLHTTP',
                                     'Microsoft.XMLHTTP' );
          var success = false;
          for (var i=0;i < XMLHTTP_IDS.length && !success; i++) {
              try {
                   xmlhttp = new ActiveXObject(XMLHTTP_IDS[i]);
                      success = true;
                } catch (e) {}
          }
          if (!success) {
              throw new Error('Unable to create XMLHttpRequest.');
          }
     }
     return xmlhttp;
 }

  function LTrim( value ) {
  	
	  var re = /\s*((\S+\s*)*)/;
	  return value.replace(re, "$1");
  	
  }

  // Removes ending whitespaces
  function RTrim( value ) {
  	
	  var re = /((\s*\S+)*)\s*/;
	  return value.replace(re, "$1");
  	
  }

// Browser Detection
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: "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();


//Divleri aç / kapat
var lastShowDivId = null;
function openHidePanelById(activeTab, showDivId, hideDivId, openedTd){

	if (hideDivId == null || lastShowDivId != null)
		hideDivId = lastShowDivId;
	
	if (hideDivId != null){
		var hide = document.getElementById(hideDivId);
		hide.style.display = "none";
	}
	
	var show = document.getElementById(showDivId);
	show.style.display = "block";
		
	lastShowDivId = showDivId;
	
	//Tabın stilini değiştir
	var list = null; 
	var tabNames = activeTab.getAttribute("name");
	
	if(BrowserDetect.browser == "Explorer")
		list = getElementsByName_iefix("li",tabNames);
	else
		list = document.getElementsByName(tabNames);

		
	for (var i = 0; i < list.length ; i++){
		var li = list[i];

		if (li.className == "selected")
			li.className = "";
	}
	
	activeTab.className = "selected";
	
//	if(document.getElementById("t1"))
//	  document.getElementById("t1").style.display = "none";
//	
//	if(document.getElementById("t2"))
//	  document.getElementById("t2").style.display= "none";
//	
//	if(document.getElementById("t3"))
//	  document.getElementById("t3").style.display= "none";

//	if(document.getElementById(openedTd))
//	  document.getElementById(openedTd).style.display = "block";
}

// Array indexOf fonksiyonu
if (!Array.prototype.indexOf)
{
  Array.prototype.indexOf = function(elt /*, from*/)
  {
    var len = this.length;

    var from = Number(arguments[1]) || 0;
    from = (from < 0)
         ? Math.ceil(from)
         : Math.floor(from);
    if (from < 0)
      from += len;

    for (; from < len; from++)
    {
      if (from in this &&
          this[from] === elt)
        return from;
    }
    return -1;
  };
}

function getElementsByName_iefix(tag, name) {
     var elem = document.getElementsByTagName(tag);
     var arr = new Array();
     for(i = 0,iarr = 0; i < elem.length; i++) {
          att = elem[i].getAttribute("name");
          if(att == name) {
               arr[iarr] = elem[i];
               iarr++;
          }
     }
     return arr;
}

function disableEnterKey(e){
       var key;     
			 if(window.event)
						key = window.event.keyCode; //IE
			 else
						key = e.which; //firefox     

			 return (key != 13);
	}
	
function toggle_panel_t(obj,imgObj)
{
  var d = document.getElementById(obj);
  var i = imgObj.src;
  d.style.display = (d.style.display == "block" || d.style.display == "") ? "none" : "block";
  var i = (d.style.display == "block" || d.style.display == "") ? i.replace(/_max/g,"_min") : i.replace(/_min/g,"_max");
  imgObj.src = i;
}

function panel_toggle_on(obj) 
{ 
  var re = new RegExp(/_max|_min/g);
  imgSrc = obj.src;
  var match = imgSrc.match(re); 
  var d = imgSrc.replace(re,match + "_on");
  obj.src = d;
}

function panel_toggle_off(obj) 
{ 
  imgSrc = obj.src;
  var d = imgSrc.replace(/_on/g,"");  
  obj.src = d;
}

function helpButToggle(obj)
{
  var hImg = obj.src;
  var d = hImg.replace(/-on/g,"-over");  
  obj.src = d;
}

function helpButToggleOff(obj)
{
  var hImg = obj.src;
  var d = hImg.replace(/-over/g,"-on");  
  obj.src = d;
}

function changeStyle(divid,cbid)
{
  var div = document.getElementById(divid);
  var cb = document.getElementById(cbid);
  
  if(div.className != "birlikteal_selected" && cb.checked == true)
    {
      div.className = "birlikteal_selected";
    }
  else
    {
      div.className = "birlikteal";
    }
}
