var apos=0;
var adir=2;
var alen=0;

var onload_functions = new Array();
var onunload_functions = new Array();
/**
* New function for handling multiple calls to window.onload and window.unload by pentapenguin
*/
window.onload = function()
{
	for (i = 0; i <= onload_functions.length; i++)
	{
		eval(onload_functions[i]);
	}
}

window.onunload = function()
{
	for (i = 0; i <= onunload_functions.length; i++)
	{
		eval(onunload_functions[i]);
	}
}
/**
* Javascript para guardias
* @author alexof <aguevara@vacorp.net>
* @version 1.0
* @since 22/11/2006
* @package JavaScript
*/
function objPos(obj) {
	var curleft = curtop = 0;
	if (obj.offsetParent) {
		curleft = obj.offsetLeft
		curtop = obj.offsetTop
		while (obj = obj.offsetParent) {
			curleft += obj.offsetLeft
			curtop += obj.offsetTop
		}
	}
	return [curleft,curtop];
}
/**
*
*/
function ayuda(msg,ref,img,rx,ry,ly,lx,fd,ms){

	obj = document.getElementById(ref);
	xy 	= objPos(obj);
	to	= 0;

	if ( typeof img == 'undefined' || img == '' ) { img = 'tooltipl.gif'; }

	ToolTip.prototype.mostrar=TTmostrar;

	tt=new ToolTip( obj,(xy[0]),(xy[1]) );
	tt.imagen = img;
	tt.timeout = to;
	tt.info = msg;

	if ( typeof rx != 'undefined' && rx != '' ) { tt.rx = rx; }
	if ( typeof ry != 'undefined' && ry != '' ) { tt.ry = ry; }
	if ( typeof lx != 'undefined' && lx != '' ) { tt.lx = lx; }
	if ( typeof ly != 'undefined' && ly != '' ) { tt.ly = ly; }
	if ( typeof fd != 'undefined' && fd != '' ) { tt.fd = fd; }
	if ( typeof ms != 'undefined' && ms != '' ) { tt.ms = ms; }

	/*setear el fade*/
	tt.fade = fd;
	tt.millisec = ms;

	tt.mostrar();
}
/**
* Hace un fade para un objeto
*/
function fade(id,opacStart,opacEnd){
    //speed for each frame
    var speed = Math.round(500 / 100);
    var timer = 0;

    //determine the direction for the blending, if start and end are the same nothing happens
    if(opacStart > opacEnd) {
        for(i = opacStart; i >= opacEnd; i--) {
            setTimeout("changeOpac(" + i + ",'" + id + "')",(timer * speed));
            timer++;
        }
    } else if(opacStart < opacEnd) {
        for(i = opacStart; i <= opacEnd; i++)
            {
            setTimeout("changeOpac(" + i + ",'" + id + "')",(timer * speed));
            timer++;
        }
    }
}
/**
* cambia la opacidad de un objeto
*/
function changeOpac(opacity, id) {
    var object = document.getElementById(id).style;
    object.opacity = (opacity / 100);
    object.MozOpacity = (opacity / 100);
    object.KhtmlOpacity = (opacity / 100);
    object.filter = "alpha(opacity=" + opacity + ")";
}
/**
* Execute the delete command
* @param p page
* @param a action
* @param id id to delete
* @param msg message to show
*/
function makeDelete( p,a,ids,myvars,msg,sesion ){
	var error = 0;
	
	if ( typeof p == 'undefined' || p == '' ) { alert('Parameter 1 is missing'); error=1;}
	if ( typeof a == 'undefined' || a == '' ) { alert('Parameter 2 is missing'); error=1;}
	if ( typeof ids == 'undefined' || ids == '' ) { alert('Parameter 3 is missing'); error=1;}
	
	if ( error ){return false;}
	
	if (confirm( msg ) ){
		return gotToPage( p,a,ids,myvars,sesion );
		return false;
	}else{
		return false;
	}
}
/**
* Go to a page
* @param p page
* @param a action
* @param ids id to delete
* @param myvars
* @param sesion the current session
*/
function gotToPage( p,a,ids,myvars,sesion ){
	
	var url = '';

	for (x=0 ; x<ids.length ; x++){		
		url = url + '&'+myvars[x]+'='+ids[x];
	}
	
	location.href = p+'.php?sid=' + sesion +'&view=' + a + url;
	return false;
}
/**
* Set variable
*/
function setVar( form,myvar,myval ){
	
	var obj = eval('window.document.' + form + '.' + myvar);
	
	obj.value = myval;
	
	return true;
}
/**
* Go to a page
* @param p page
* @param a action
* @param ids id to delete
* @param myvars
* @param sesion the current session
*/
function gotToPageSimple( p ){

	location.href = p;
	return false;
}
/**
* change the image src
*/
function changeImageSrc(objID,newClass){
	obj = my_getbyid(objID);
	
	obj.className=newClass;
	
	return true;
}


function my_getbyid(id){
	itm = null;
	
	if (document.getElementById)
	{
		itm = document.getElementById(id);
	}
	else if (document.all)
	{
		itm = document.all[id];
	}
	else if (document.layers)
	{
		itm = document.layers[id];
	}
	
	return itm;
}

/**
* Set display of page element
* s[-1,0,1] = hide,toggle display,show
*/
function dE(n, s, type){
	
	if (!type){
		type = 'block';
	}

	var e = document.getElementById(n);

	
	if( e.style.display == 'block' )
		e.style.display = 'none'
	else
		e.style.display = 'block'
}

function validarFecha(obj){
	re = /^\d{1,2}\/\d{1,2}\/\d{4}$/;
	
	if( obj.value != '' && !obj.value.match( re ) ){ 
		alert('El formato de fecha es inválido, debe ser dd/mm/aaaa');
		obj.focus();
	}
}
/**
* Ask to submit
*/
function askToSubmit(msg){
	
	if (confirm( msg ) ){
		return true;
	}else{
		return false;
	}
	
	return true;
}

function setNames(form){

	var tform = eval('window.document.' + form );
	
	/**/
	var spnNames = document.getElementById('names');
	var spnID = document.getElementById('spnidcard');
	
	spnNames.innerHTML = tform.regname.value+' '+tform.reglastname.value ;
	spnID.innerHTML = tform.idcard.value;
}


function animate(){
	var elem = document.getElementById('progress');
	if(elem != null) {
		if (apos==0) alen += adir;
		if (alen>32 || apos>79) apos += adir;
		if (apos>79) alen -= adir;
		if (apos>79 && alen==0) apos=0;
		elem.style.left = apos;
		elem.style.width = alen;
	}
}
function remove_loading(t_id) {
	this.clearInterval(t_id);
	var targelem = document.getElementById('loader_container');
	targelem.style.display='none';
	targelem.style.visibility='hidden';
}

function show_hide_box(an, width, height, borderStyle, href) {

	var boxdiv = document.getElementById(href);

	if (boxdiv != null) {
		if (boxdiv.style.display=='none') {
			move_box(an, boxdiv);
			boxdiv.style.display='block';
		} else
			boxdiv.style.display='none';
		return false;
	}

	boxdiv = document.createElement('div');
	boxdiv.setAttribute('id', href);
	boxdiv.style.display = 'block';
	boxdiv.style.position = 'absolute';
	boxdiv.style.width = width + 'px';
	boxdiv.style.height = height + 'px';
	boxdiv.style.border = borderStyle;
	boxdiv.style.backgroundColor = '#fff';

	var contents = document.createElement('iframe');
	contents.scrolling = 'no';
	contents.frameBorder = '0';
	contents.style.width = width + 'px';
	contents.style.height = height + 'px';
	contents.src = href;

	boxdiv.appendChild(contents);
	document.body.appendChild(boxdiv);
	move_box(an, boxdiv);

	return false;
}
function move_box(an, box) {
	var cleft = 33;
	var ctop = -15;
	var obj = an;
	while (obj.offsetParent) {
	cleft += obj.offsetLeft;
	ctop += obj.offsetTop;
	obj = obj.offsetParent;
	}
	box.style.left = cleft + 'px';
	ctop += an.offsetHeight + 10;
	if (document.body.currentStyle &&
	document.body.currentStyle['marginTop']) {
	ctop += parseInt(document.body.currentStyle['marginTop']);
	}
	box.style.top = ctop + 'px';
}

//Shopping Cart Funcs
// We receive those vars as this would speed up execution
//

var sackObj;

function pme_complete_cart_trans(){
	var div_shopping_cart = document.getElementById('pme_shopping_cart');
	div_shopping_cart.innerHTML = sackObj.response;
	sackObj = null;
}
function pme_complete_cart_trans_delete(){
	sackObj = null;
	window.location.reload();
}

function pme_add_to_cart(prod_name, prod_id, prod_price){
	sackObj = new sack('ajax.php');
	var prod_realprice = prod_price.substring(1);

	sackObj.method = 'GET';
	//Set the vars to send...
	sackObj.setVar('cart','add');
	sackObj.setVar('prod_name',prod_name);
	sackObj.setVar('prod_id',prod_id);
	sackObj.setVar('prod_price',prod_price.replace('$',''));
	//Callback
	sackObj.onCompletion = function(){ pme_complete_cart_trans(); }
	//Send Stuff
	sackObj.runAJAX();

}

function pme_add_to_prod(prod_id, qty ){
	if(qty > 0){
		sackObj = new sack('ajax.php');
		sackObj.method = 'GET';
		//Set the vars to send...
		sackObj.setVar('cart','qty');
		sackObj.setVar('qty',qty);
		sackObj.setVar('prod_id',prod_id);
		//Callback
		sackObj.onCompletion = function(){ pme_complete_cart_trans_delete(); }
		//Send Stuff
		sackObj.runAJAX();
	}

}
function pme_remove_from_cart(prod_id){
	var msg = confirm('Do you want to remove this item from your cart?');
	if(msg){
		sackObj = new sack('ajax.php');
		sackObj.method = 'GET';
		//Set the vars to send...
		sackObj.setVar('cart','remove');
		sackObj.setVar('prod_id',prod_id);
		//Callback
		sackObj.onCompletion = function(){ pme_complete_cart_trans_delete(); }
		sackObj.onError = function(){ pme_complete_cart_trans_delete(); }
		//Send Stuff
		sackObj.runAJAX();
	}
}
/*
 * Login Functions
*/
function pme_login(returns){
	var login = document.getElementById('login').value;
	var passwd = document.getElementById('passwd').value;

	if(login && passwd){
		sackObj = new sack('login.php');
		sackObj.method = 'POST';
		//Set the vars to send...
		sackObj.setVar('login',login);
		sackObj.setVar('passwd',passwd);
		sackObj.setVar('returns',returns);
		//Callback
		if(returns == 'cart'){
			sackObj.onCompletion = function(){ pme_complete_login_cart(); }
		}else{
			sackObj.onCompletion = function(){ pme_complete_login(); }
		}
		sackObj.onError = function(){ pme_login_failed(); }
		//Send Stuff
		sackObj.runAJAX();
	}else{
		alert('Login or Password field is empty');
	}
}
function pme_complete_login(){
	var login_div = document.getElementById('login_div');
	login_div.innerHTML = sackObj.response;
	sackObj = null;
}
function pme_complete_login_cart(){
	var login_div = document.getElementById('pme_shopping_cart');
	login_div.innerHTML = sackObj.response;
	sackObj = null;
}
/*
 * Login Functions END
*/



/**********/
function compareSkus(){

	var intSkuLen = document.getElementById('aSkus').value.length;
	var intSkuLen2 = document.getElementById('savedSkus').value.length;
	var removed=document.getElementById('removedSkus').value;
	intSkuLen = intSkuLen + intSkuLen2 ;
	var sku1 = document.getElementById('aSkus').value ;
	var sku2 = document.getElementById('savedSkus').value ;
	var finSku = ""

	if( sku1.length > 0 ){
		var a1 = sku1.split(",");
		for(var i = 0; i < a1.length; i++){
			if( (finSku.indexOf(a1[i]) < 0) && (removed.indexOf(a1[i]) < 0) ){
				finSku = finSku + a1[i] + ",";
			}
		}
	}
	if( sku2.length > 0 ){
		var a1 = sku2.split(",");
		for(var i = 0; i < a1.length; i++){
			if( (finSku.indexOf(a1[i]) < 0) && (removed.indexOf(a1[i]) < 0) ){
				finSku = finSku + a1[i] + ",";
			}
		}
	}
	intSkuLen = finSku.length;
	if(sku1.length < 7) sku1 = finSku;

	if ( (intSkuLen > 7) && (intSkuLen <= 70) ){
		document.getElementById('removedSkus').value = "";
		winCompare= window.open('compare.php?skus=' + sku1 + "&removed=" + removed,'CompareWindow','height=600,width=800,location=yes,menubar=no,scrollbars=yes,resizable=yes');
		document.getElementById('cOpen').value = "true";
	}
	else{
		if (intSkuLen <= 0)
			alert('Please select at least 2 products.');
		else
			alert('You can only select up to 10 products.');
	}
}
function processSku(sku,setValue,checkbox) {
	var lnkClear = document.getElementById('btnClearSKU') ;
	var removed="" + document.getElementById('removedSkus').value;

	if (setValue==true) {
		if (document.getElementById('aSkus').value.length < 70) {
				document.getElementById('aSkus').value = document.getElementById('aSkus').value + sku + ",";
				document.cookie="aSkus=" + escape(document.getElementById('aSkus').value);
				if(removed.length > 4){
					removed=removed.replace(sku + ",", "");
					document.getElementById('removedSkus').value = removed;
				}
				if (document.getElementById('cOpen').value == "true"){
					parent.winCompare= window.open('compare.php?skus=' + document.getElementById('aSkus').value,'CompareWindow','height=600,width=800,menubar=no,scrollbars=yes,resizable=yes');
				}
		}
		else {
			alert('You can only select up to 10 products.');
			checkbox.checked=false;
		}
		lnkClear.innerHTML = "Clear Compare" ;
	}
	else{
		var pattern = sku + ",";
		var skus=document.getElementById('aSkus').value;
		var saved=document.getElementById('savedSkus').value;

		if ((document.getElementById('cOpen').value == "true") && (skus.length < 15)){
				alert('You can only select up to 10 products.');
				checkbox.checked = true;}
		else {
			skus=skus.replace(pattern, '');
			saved=saved.replace(pattern, '');
			removed=removed + pattern;
			document.getElementById('aSkus').value = skus;
			document.getElementById('savedSkus').value = saved;
			document.getElementById('removedSkus').value = removed;
			document.cookie="aSkus=" + escape(skus);
		}
		if(skus.length < 1){
			lnkClear.innerHTML = "";
		}	
		if (document.getElementById('cOpen').value == "true")
			parent.winCompare = window.open('compare.php?skus=' + document.getElementById('aSkus').value + "&removed=" + removed,'CompareWindow','height=600,width=800,menubar=no,scrollbars=yes,resizable=yes');
	}
}
