var userAgent = navigator.userAgent.toLowerCase();
var frameSkip = 25;

if(userAgent.indexOf("msie")>-1)
  myUa = "ie";
else if(userAgent.indexOf("firefox")>-1)
  myUa = "firefox";

function pxToInt(pxVal){
  return(Math.round(pxVal.substr(0, pxVal.indexOf("px"))));
}

/*******************************************************************************/

var sender=new Object();
function rotate(obj, angle){
  obj.style.transform="rotate(" + angle + "deg)";
  obj.style.msTransform="rotate(" + angle + "deg)";
  obj.style.webkitTransform="rotate(" + angle + "deg)";
  obj.style.MozTransform="rotate(" + angle + "deg)";
  obj.style.oTransform="rotate(" + angle + "deg)";
}

function skew(obj, aX, aY){
  obj.style.transform="skew(" + aX + "deg, " + aY + "deg)";
  obj.style.msTransform="skew(" + aX + "deg, " + aY + "deg)";
  obj.style.webkitTransform="skew(" + aX + "deg, " + aY + "deg)";
  obj.style.MozTransform="skew(" + aX + "deg, " + aY + "deg)";
  obj.style.oTransform="skew(" + aX + "deg, " + aY + "deg)";
}

var rid = -1;
var rObjArray=rIntArray="";
function pxResize(obj, w, h, duration){

  if(rObjArray.indexOf("." + obj.id + ".")!=-1)
    rIntArray += "." + rid + ".";
  else
    rObjArray += "." + obj.id + ".";

  rid ++;

  var oW = obj.offsetWidth;
  var oH = obj.offsetHeight;

  if(oW*1==0)oW = obj.width;
  if(oH*1==0)oH = obj.height;
  if(h *1==0) h = w * (oH / oW);
  if(w *1==0) w = h * (oW / oH);

  var aDelta = Math.round((duration * 1000) / frameSkip);
  var wFreq = (oW-w)/aDelta
  var hFreq = (oH-h)/aDelta

  /*if (oW<w) wFreq *= -1;
  if (oH>h) hFreq *= -1;*/

  for (var i=0; i<aDelta; i++){

    /*var r_nW = (w * i) / oW * (oW/aDelta);
    var r_nH = (h * i) / oH * (oH/aDelta);*/
    oW -= wFreq;
    oH -= hFreq;

    //setTimeout("document.title=" + oH, i*frameSkip);

    setTimeout("if(rIntArray.indexOf('." + rid + ".')==-1){" + obj.id + ".style.width=" + oW + ";" + obj.id + ".style.height=" + oH + ";}", i*frameSkip)
  } // for

  /*setTimeout("rObjArray=rObjArray.replace(/." + rid + "./, '')", frameSkip*aDelta);
  setTimeout("rIntArray=rIntArray.replace(/." + rid + "./, '')", frameSkip*aDelta);*/

}

var zaid = -1;
var zObjArray=zIntArray="";

function zoom(obj, perc, duration){

  if(zObjArray.indexOf("." + obj.id + ".")!=-1)
    zIntArray += "." + zaid + ".";
  else
    zObjArray += "." + obj.id + ".";

  zaid ++;

  var touchFrom="";

  var oW = obj.offsetWidth;
  var oH = obj.offsetHeight;

  if(oW*1==0)
    oW = obj.width

  if(oH*1==0)
    oH = obj.height


  var aDelta = Math.round((duration * 1000) / frameSkip);
  var zoomRatio = 1-(perc/100);

  var newOW = oW;
  var newOH = oH;

  for (var i=0; i<=aDelta; i++){
    var framePercentage = i*frameSkip/(duration*1000);
    newOW = (oW - (oW*zoomRatio*framePercentage));
    newOH = (oH - (oH*zoomRatio*framePercentage));
    setTimeout("if(zIntArray.indexOf('." + zaid + ".')==-1){" + obj.id + ".style.width=" + newOW + ";" + obj.id + ".style.height=" + newOH + ";}", i*frameSkip)
  } // for

  setTimeout("zObjArray=zObjArray.replace(/." + zaid + "./, '')", frameSkip*aDelta);
  setTimeout("zIntArray=zIntArray.replace(/." + zaid + "./, '')", frameSkip*aDelta);

}

function setOpacity(obj, opaAmount){
  if(myUa == "ie")
    obj.style.filter = "alpha(opacity=" + opaAmount + ")";
  else
    obj.style.opacity = opaAmount / 100;
}

function getOpacityFromCSS(inCSS){
  var objCSS = inCSS.toString().toLowerCase();
  var opaPos = objCSS.indexOf("opacity");

  if(opaPos > -1){
    var opaCSS = opaDeclaration = "";
    var operandPos = -1;
    for(var opa_i=opaPos; opa_i < objCSS.length; opa_i++){
      var nowChar = objCSS.substr(opa_i, 1);
      if(nowChar != ";" && nowChar != ")"){
        opaCSS += nowChar;
        if(operandPos>-1)opaDeclaration += nowChar;
        if(nowChar == "=" || nowChar == ":")operandPos = opa_i;	
      } else
        break;
    }
  } else {
    opaDeclaration = -1;
  }

  return(opaDeclaration)
}

function seekClassCSS(objClassName){
  var ssLength = document.styleSheets.length;
  for (var ss_i = 0; ss_i < ssLength; ss_i++){

    var ruleLength = myUa == "ie" ? document.styleSheets[ss_i].rules.length : document.styleSheets[ss_i].cssRules.length;
    var classCSS = ""

    for (var ss_j = 0; ss_j < ruleLength; ss_j++){

      var myRule = myUa == "ie" ? document.styleSheets[ss_i].rules[ss_j] : document.styleSheets[ss_i].cssRules[ss_j]

        if(myRule.selectorText == "." + objClassName)
          classCSS = myRule.style.cssText;
      
      if(classCSS != "")break;
    }
  }

  return(classCSS);
}


var faid = -1;
var fObjArray=fIntArray="";
function fade(obj, fadeTo, duration){

  if(fObjArray.indexOf("." + obj.id + ".")!=-1)
    fIntArray += "." + faid + ".";
  else
    fObjArray += "." + obj.id + ".";

  faid ++;
  //status = fObjArray + ' - ' + fIntArray;

  var fadeFrom = -1;

  //if(obj.id=="download")alert(document.styleSheets.item(0).cssText);

  if(myUa == "ie"){
    fadeFrom = getOpacityFromCSS(obj.style.cssText)*1;
    if(fadeFrom == -1)
      fadeFrom =getOpacityFromCSS(seekClassCSS(obj.className))
  } else {
    if(obj.style.opacity != null && obj.style.opacity != "")
      fadeFrom = obj.style.opacity * 100;
    if(fadeFrom == -1)
      fadeFrom =getOpacityFromCSS(seekClassCSS(obj.className))*100
  }

  if(fadeFrom == -1)
    fadeFrom = 100;

  var aDelta = Math.round((duration * 1000) / frameSkip);

  for(var i=0; i <= aDelta; i++){
    var framePercentage = i*frameSkip/(duration*1000);
    var newOpacity = Math.round(fadeFrom) + Math.round(framePercentage*(fadeTo-fadeFrom));

    switch(myUa){
      case "ie" :
        setTimeout("if(fIntArray.indexOf('." + faid + ".')==-1){" + obj.id + ".opacity=" + newOpacity + ";" + obj.id + ".style.filter='alpha(opacity=" + newOpacity + ")'}", frameSkip*i);
        //setTimeout("document.title = fIntArray + '->[" + faid + "]'", frameSkip*i);
        //setTimeout("document.title = " + obj.id + ".style.filter", frameSkip*i);
        break;
      case "firefox" :
        setTimeout("if(fIntArray.indexOf('." + faid + ".')==-1){" + obj.id + ".style.opacity=" + newOpacity/100 + "}", frameSkip*i);
        break;
    }
  } // for

  setTimeout("fObjArray=fObjArray.replace(/." + faid + "./, '')", frameSkip*aDelta);
  setTimeout("fIntArray=fIntArray.replace(/." + faid + "./, '')", frameSkip*aDelta);

}

var flid = -1;
var flObjArray=flIntArray="";
function flyTo(obj, xTo, yTo, duration){

  /*if(flObjArray.indexOf("." + obj.id + ".")!=-1)
    flIntArray += "." + flid + ".";
  else
    flObjArray += "." + obj.id + ".";*/

  flid ++;

  var xFrom = pxToInt(obj.style.left)*1;
  var yFrom = pxToInt(obj.style.top)*1;
  var xStep = xFrom;
  var yStep = yFrom;
  var aDelta = (duration * 1000) / frameSkip;

  for(i=0; i<aDelta; i++){
    xFrom < xTo ? xStep += (xTo - xFrom) / aDelta : xStep -= (xFrom - xTo) / aDelta;
    yFrom < yTo ? yStep += (yTo - yFrom) / aDelta : yStep -= (yFrom - yTo) / aDelta;

    setTimeout("if(flIntArray.indexOf('." + flid + ".')==-1){locate(" + obj.id + ", " + xStep + "," + yStep + ")}", frameSkip*i)
    //setTimeout("locate(" + obj.id + ", " + xStep + "," + yStep + ")", (duration*20)*i)
  } // for

  setTimeout("flObjArray=flObjArray.replace(/." + flid + "./, '')", frameSkip*aDelta);
  setTimeout("flIntArray=flIntArray.replace(/." + flid + "./, '')", frameSkip*aDelta);

}

function locate(obj, x, y){
  obj.style.left = x + "px";
  obj.style.top = y + "px";
}

function gL(sender){
  try{
    return(pxToInt(sender.style.left));
  } catch(e) {
    return(-1)
  }
}

function gT(sender){
  try{
    return(pxToInt(sender.style.top));
  } catch(e) {
    return(-1)
  }
}

function gW(sender){
  try{
    return(sender.offsetWidth);
  } catch(e) {
    return(sender.width)
  }
}

function gH(sender){
  try{
    return(sender.offsetHeight);
  } catch(e) {
    return(sender.height)
  }
}


/* ------------------ PROSEDÜREL İŞLEMLER --------------------------*/
if(document.body){
  var cw = document.body.clientWidth;
  var ch = document.body.clientHeight;
}

var imgCount = 0;
function fetchIntoView(src){

  var cw = document.body.clientWidth;
  var ch = document.body.clientHeight;
  var myImg = document.createElement("img");

  myImg.setAttribute("id", "img_" + imgCount++);
  myImg.className = "flyinImage";
  if(myUa == 'ie')
    myImg.style.filter = "alpha(opacity=10)";
  else
    myImg.style.opacity=.1;
  
  myImg.style.position = "absolute";
  myImg.style.width = '10%';
  myImg.style.height = 'auto';

  myImg.onclick = function(){
    zoom(this, 10, 1);
    flyTo(this, document.body.clientWidth, -100, 1);
    fade(this, 0, .5);
    setTimeout("document.body.removeChild(" + this.id + ")", 1100);
  }

  myImg.onload = function(){
    zoom(this, 1000, .75);
    flyTo(this, 0, 0, .75);
    fade(this, 100, .75)
    
  }

  myImg.setAttribute("src", src);

  document.body.appendChild(myImg);
}

var imgLoaded = 0;
var le = false;
function lengthenLoad(){

  imgLoaded += 1;
  expandRatio = prWidth / imgCount;

  if(imgLoaded < imgCount){

    var oPadding = pxToInt(loadProgress.style.paddingRight);
    for(var i=0; i<= expandRatio / 2; i+=2)
      setTimeout("if(le)return false; loadProgress.style.paddingRight = '" + (oPadding - i*2) + "px'", i*5);

  } else {

    le = true;
    var oPadding = pxToInt(loadProgress.style.paddingRight);
    for(var i=oPadding/2; i>0; i-=2)
      setTimeout("loadProgress.style.paddingRight = '" + (oPadding-i*2) + "px'", i*5);
    setTimeout("on_loadingComplete()", i*6)

  }
}

function createLoadPrBar(w, h){
  var loadPrBar = document.createElement("div");
  loadPrBar.id="loadProgress";
  loadPrBar.style.cssText = "background: #020; border-right: 1px solid #080; padding-right: 198; position: absolute; top: -100; left: 0; font: normal 4 arial; width: " + w + "; height: " + h

  var loadPr = document.createElement("input");
  loadPr.type="image";
  loadPr.src = "/lib-osplug/res/images/objects/vista_progress_176x9.gif";
  loadPr.style.cssText = "width: 100%; height: 100%;; background:#88cc88"

  loadPrBar.appendChild(loadPr);

  document.body.appendChild(loadPrBar);

}

