/*
# copyright : Copyright (C) 2007 Squirnet.com. All rights reserved.
# url : http://www.squirnet.com
# mail : copyright@squirnet.com
# update : 2009-05-06
*/

/*#########################  GET  #########################*/
function getId(id) {
	return document.getElementById(id);
}

function getStyle(id , property) {
	var ele = document.getElementById(id);
		if (window.getComputedStyle) {
			var req = eval('window.getComputedStyle(ele,null).' + property);
		}
		else if (ele.currentStyle) {
			var req = eval('ele.currentStyle.' + property);
		}
	return req;
}

function addEvent(ele , evt , fn , bCapt) {
	
	if (ele.addEventListener) {
		return ele.addEventListener(evt , fn , bCapt);
	}
	else if (ele.attachEvent){
		return ele.attachEvent('on' + evt , fn);
	}
	else {
		return ele['on' + evt] = fn;
	}
}
/*#########################  /GET  #########################*/


function open_extlink() {
	var liens = document.getElementsByTagName('a');
	
	for (var i=0 ; i < liens.length ; ++i) {
		if (liens[i].className.search(/extlink/) > -1) {
			liens[i].onclick = function()  {
				window.open(this.href);
				return false;
			}
		}
	}
}
addEvent(window , 'load' , open_extlink , false);


















/*#########################  MOUSE MOVE  #########################*/
var sw = window.screen.width;
var sh = window.screen.height;
var cw = document.body.clientWidth;
var ch = window.innerHeight;

var mousex = 0;
var mousey = 0;
var grabx = 0;
var graby = 0;
var orix = 0;
var oriy = 0;
var elex = 0;
var eley = 0;
var algor = 0;

var dragobj = null;


function falsefunc() { return false; } // used to block cascading events


function getMouseXY(e) // works on IE6,FF,Moz,Opera7
{ 
  if (!e) e = window.event; // works on IE, but not NS (we rely on NS passing us the event)
 
  if (e)
  { 
    if (e.pageX || e.pageY)
    { // this doesn't work on IE6!! (works on FF,Moz,Opera7)
      mousex = e.pageX;
      mousey = e.pageY;
      algor = '[e.pageX]';
      if (e.clientX || e.clientY) algor += ' [e.clientX] '
    }
    else if (e.clientX || e.clientY)
    { // works on IE6,FF,Moz,Opera7
      // Note: I am adding together both the "body" and "documentElement" scroll positions
      //       this lets me cover for the quirks that happen based on the "doctype" of the html page.
      //         (example: IE6 in compatibility mode or strict)
      //       Based on the different ways that IE,FF,Moz,Opera use these ScrollValues for body and documentElement
      //       it looks like they will fill EITHER ONE SCROLL VALUE OR THE OTHER, NOT BOTH 
      //         (from info at http://www.quirksmode.org/js/doctypes.html)
      mousex = e.clientX + document.body.scrollLeft + document.documentElement.scrollLeft;
      mousey = e.clientY + document.body.scrollTop + document.documentElement.scrollTop;
      algor = '[e.clientX]';
      if (e.pageX || e.pageY) algor += ' [e.pageX] '
    }
  }
}

function grab(context)
{
  document.onmousedown = falsefunc; // in NS this prevents cascading of events, thus disabling text selection
  dragobj = context;
  dragobj.style.zIndex = 10; // move it to the top
  document.onmousemove = drag;
  document.onmouseup = drop;
  grabx = mousex;
  graby = mousey;
  elex = orix = dragobj.offsetLeft;
  eley = oriy = dragobj.offsetTop;
  update();
}

function drag(e) // parameter passing is important for NS family 
{
  if (dragobj)
  {
    elex = orix + (mousex-grabx);
    eley = oriy + (mousey-graby);
    dragobj.style.position = "absolute";
    dragobj.style.left = (elex).toString(10) + 'px';
    dragobj.style.top  = (eley).toString(10) + 'px';
  }
  update(e);
  return false; // in IE this prevents cascading of events, thus text selection is disabled
}

function drop()
{
  if (dragobj)
  {
    dragobj.style.zIndex = 0;
    dragobj = null;
  }
  update();
  document.onmousemove = update;
  document.onmouseup = null;
  document.onmousedown = null;   // re-enables text selection on NS
}
/*#########################  /MOUSE MOVE  #########################*/














/*#########################  TEMPLATE NAV  #########################*/
var templateNav = {
	start: 0,
	
	count: function() {
		var style1 = getStyle('tpldock_tpl1_div','display');
		var style2 = getStyle('tpldock_tpl2_div','display');
		var style3 = getStyle('tpldock_tpl3_div','display');
		var style4 = getStyle('tpldock_tpl4_div','display');
		
		if (style1 == "none") 		{return "1";}
		else if (style2 == "none") 	{return "2";}
		else if (style3 == "none") 	{return "3";}
		else if (style4 == "none") 	{return "4";}
		else 						{return "5";}
	},
	
	change: function(move) {
		if (move == 'up') {
			if (templateNav.start + +templateNav.count() < tpl_make_list.length) {
				templateNav.start = templateNav.start + +templateNav.count();
			}
			else {
				templateNav.start = (templateNav.start + +templateNav.count()) - tpl_make_list.length;
			}
		}
		else {
			if (templateNav.start - +templateNav.count() >= 0) {
				templateNav.start = templateNav.start - +templateNav.count();
			}
			else {
				templateNav.start = (templateNav.start - +templateNav.count()) + tpl_make_list.length;
			}
		}
		
		templateNav.tpl0 = templateNav.start;
		
		if (templateNav.start + 1 < tpl_make_list.length) {templateNav.tpl1 = templateNav.start + 1;}
		else {templateNav.tpl1 = templateNav.start - tpl_make_list.length + 1;}
		
		if (templateNav.start + 2 < tpl_make_list.length) {templateNav.tpl2 = templateNav.start + 2;}
		else {templateNav.tpl2 = templateNav.start - tpl_make_list.length + 2;}
		
		if (templateNav.start + 3 < tpl_make_list.length) {templateNav.tpl3 = templateNav.start + 3;}
		else {templateNav.tpl3 = templateNav.start - tpl_make_list.length + 3;}
		
		if (templateNav.start + 4 < tpl_make_list.length) {templateNav.tpl4 = templateNav.start + 4;}
		else {templateNav.tpl4 = templateNav.start - tpl_make_list.length + 4;}
		
		getId('tpldock_tpl0_title').innerHTML = tpl_make_list[templateNav.tpl0][0];
		getId('tpldock_tpl0_a').href = '?template=' + tpl_make_list[templateNav.tpl0][1];
		getId('tpldock_tpl0_img').src = './template/' + tpl_make_list[templateNav.tpl0][2];
		
		getId('tpldock_tpl1_title').innerHTML = tpl_make_list[templateNav.tpl1][0];
		getId('tpldock_tpl1_a').href = '?template=' + tpl_make_list[templateNav.tpl1][1];
		getId('tpldock_tpl1_img').src = './template/' + tpl_make_list[templateNav.tpl1][2];
		
		getId('tpldock_tpl2_title').innerHTML = tpl_make_list[templateNav.tpl2][0];
		getId('tpldock_tpl2_a').href = '?template=' + tpl_make_list[templateNav.tpl2][1];
		getId('tpldock_tpl2_img').src = './template/' + tpl_make_list[templateNav.tpl2][2];
		
		getId('tpldock_tpl3_title').innerHTML = tpl_make_list[templateNav.tpl3][0];
		getId('tpldock_tpl3_a').href = '?template=' + tpl_make_list[templateNav.tpl3][1];
		getId('tpldock_tpl3_img').src = './template/' + tpl_make_list[templateNav.tpl3][2];
		
		getId('tpldock_tpl4_title').innerHTML = tpl_make_list[templateNav.tpl4][0];
		getId('tpldock_tpl4_a').href = '?template=' + tpl_make_list[templateNav.tpl4][1];
		getId('tpldock_tpl4_img').src = './template/' + tpl_make_list[templateNav.tpl4][2];
	}
}
/*#########################  /TEMPLATE NAV  #########################*/

