/*
This rebuild by Alex AMi for project alaskanet
this software is free licence
welcome to use at your own risk
*/

allClippings = new Array();  
activeClippings = new Array();
currentClipping = 0; 
clippingsDivArray = new Array(); 
cookiesOn = false; 

clippingsTag = "A"; 

var mouseX = mouseY =0;

function screenObject()	{
	this.bottom = function(){
		if (document.body.scrollHeight) 
		return document.body.scrollHeight};
	
	this.height = function() {
		if (document.body.offsetHeight) 
		return document.body.offsetHeight;
		}
	
	this.visHeight = function() {
		if (window.innerHeight) return window.innerHeight;
		if (document.body.clientHeight) 
		return document.body.clientHeight;
		}
	
	this.width = function() {
		if (document.body.offsetWidth) 
		return document.body.offsetWidth;
		}
	
	this.scrollTop = function() {
		if(document.body.scrollTop) 
		return document.body.scrollTop
		  if (window.pageYOffset) 
		  return window.pageYOffset;
		else return 0;};
	}

function mousePosition(e) {
	if (e) event = e;   
	mouseX = event.clientX;
	mouseY = event.clientY;
	}
	
function windowResize()	{
	clippingsSetContainerHeight()
	}

function initClippings() {
	createPageClippingsArray()
	loadClippings();
	setClippingsVisibility();		
	drawClippings();
	}	

function loadClippings() {
	clippingsString = null;
	tempArray = document.cookie.split(";");
	x = -1;
		
		for (tA = 0; tA < tempArray.length; tA++)
			{
			if (tempArray[tA].indexOf('clippings=') > -1) 
				{
				tPos = tempArray[tA].indexOf("=")+2;
				clippingsString = tempArray[tA].substring(tPos,tempArray[tA].length); 
                }
			
			}
	if (clippingsString != null)
		{		
		tempArray = clippingsString.split("^");
		if (tempArray.length > 1)
		{
		x=0;
		for (i=0; i < tempArray.length/4; i++)
			{
			
			activeClippings[i] = new Clipping(tempArray[x],tempArray[x+1],tempArray[x+2],tempArray[x+3])
			x=x+4;
			}}
		}
	}

function saveClippings() {
	tempCookie = "clippings=";
	for(i=0; i < activeClippings.length; i++)
		{
		tempCookie=tempCookie+"^"+(activeClippings[i].id)+"^"+(activeClippings[i].name)+"^"+(activeClippings[i].URL)+"^"+(activeClippings[i].read);
		}
		var expire = new Date ();
   		expire.setTime (expire.getTime() + (6 * 24 * 3600000)); 
   		expire = expire.toGMTString();
	finalCookie = tempCookie+"; path=/; expires="+expire;  	
  	document.cookie = finalCookie;
	}


function eventCheckForCookies()	{
	document.cookie = "cookies=on";
  	
  	checkForCookie = document.cookie.split(";");
  	
  		for (x=0; x < checkForCookie.length; x++)
  			{
  			if (checkForCookie[x].indexOf("cookies") >= 0) {cookiesOn = true;}
  			}
  		if (cookiesOn == false) alert("Please set your bookies");
	}

function Clipping(id,name,URL,read) {
	this.id = id;
	this.name = name;
	this.URL = URL;
	this.read = read;
	this.clicked = markRead;
	} 
	
function markRead(id) {
	if (!id) id = this.id.substring(5,this.id.length);
	for (i=0; i < activeClippings.length; i++)
		{
		if (activeClippings[i].id == id) activeClippings[i].read = "yes";
		}
		
	
	drawClippings();
	}	


function loadClippingURL(pos) {
	n = window.open(activeClippings[pos].URL,'_self',+activeClippings[pos].id);
	markRead(activeClippings[pos].id);
	saveClippings();
	}

function eventClearReadClippings() {
	tempClippings = new Array()
	x = 0;
	for (i=0; i < activeClippings.length; i++)
		{
		if (activeClippings[i].read != "yes") {tempClippings[x] = activeClippings[i]; x++}
		}
	activeClippings = tempClippings;
	drawClippings();
	setClippingsVisibility();	
	saveClippings();
	}

function eventClearAllClippings() {
	
	activeClippings = new Array();
	setClippingsVisibility();
	drawClippings();	
	saveClippings();
	}

function drawClippings() {
	newHTML = "";
	
	if (activeClippings.length < 1) 
		{
		newHTML = "<table bgcolor=cccccc cellpadding=2 cellspacing=0 border=0><TR><TD colspan=2>This Cache is a great tool for collecting your Alaskan favorites to consider, compare and at anytime contact for more information. Easily add <img src=images/plus.gif width=10 height=10 border=0> or remove listings to the Cache as you browse this site, when satisfied contact all the companies with just a single request...<i>Enjoy!</i></td></tr></table>";
		}
	
	for (i=0; i < activeClippings.length; i++)
		{
		clipping = activeClippings[i];
		
		if (clipping.read == "yes") tClass = "links";
		else tClass = "linksR";

		newHTML += "<table bgcolor=cccccc cellpadding=2 cellspacing=0 border=0 width=100%><TR><TD width=10%><img src=images/plus.gif width=10 height=10 border=0></td><td width=90%  title=Company><a href=\"#\"  onclick=\"javascript:loadClippingURL("+i+");\" class='"+tClass+"' id='cLink"+clipping.id+"'>";
		newHTML += clipping.name+"</a></TD></TR></table>";
		
		}
		
	obj = document.getElementById("clippingsContainer");
	
	obj.innerHTML = newHTML;
	
	obj.style.display = "none";
	obj.style.display = "block";
	
	clippingsSetContainerHeight();
	}


function clippingsSetContainerHeight() {
	obj = document.getElementById("clippingsContainer");
	if (userScreen.visHeight() > 2000)
		{
		obj.style.height= (userScreen.visHeight()-350)+"px";
		}
	}


function checkForDuplicates() {
	for (i=0; i < activeClippings.length; i++)
		{
		if (newClipping == activeClippings[i].id) {i = allClippings.length; duplicate = true;}
		}
	}


function createPageClippingsArray() {
		d = document.getElementsByTagName(clippingsTag)
		for (j=0; j < d.length; j++) if (d[j].id.indexOf("clp") > -1) 
			{
			clippingsDivArray[clippingsDivArray.length] = d[j];
			}
	 }

function clippingInstanceVisibility(id,state) {
	t = document.getElementsByName(id);
	if(t.length > 0)
		{
		for (j=0; j < t.length; j++) 
			{
			t[j].style.visibility = state;
			t[j].onclick = addClipping;
			}
		}
	else {
	 	d = clippingsDivArray;
  		{
		for (j=0; j < d.length; j++) if (d[j].id == id) 
			{
			d[j].style.visibility = state;
			d[j].onclick = addClipping;
			}
		}
		}		
	}
	
function setClippingsVisibility() {
	
	for (i=0; i < allClippings.length; i++)
		{
		vis = "visible";
		
		for (x=0; x <activeClippings.length; x++) if (allClippings[i].id == activeClippings[x].id) vis = "hidden";
			obj = "clp"+allClippings[i].id;
			clippingInstanceVisibility(obj,vis)
			}
			
		}

function addClipping() {
	newClipping = this.id.substring(3,this.id.length)
	duplicate = false;
	for (i=0; i < allClippings.length; i++) 
		{
		if (newClipping == allClippings[i].id) {pos = i; i = allClippings.length}
		}
		
	if (activeClippings.length > 0)	checkForDuplicates() 
	
	if (!duplicate)
	{	
		eventCheckForCookies();
		if (cookiesOn == true)
			{
			activeClippings[activeClippings.length] = new Clipping(allClippings[pos].id,allClippings[pos].name,allClippings[pos].URL);
			
			clippingInstanceVisibility(this.id,'hidden') 
	 		
	 		drawClippings();	
	 		if (document.all) event.cancleBubble = true;
	 		saveClippings();
		 	}
	 	}
	}


	
	function dothis() {		
		if (document.all) classFix = "className";
		else classFix = "class";
		
		userScreen = new screenObject(); 
		
		window.onresize = windowResize;
		
		initClippings();
		}
	// window.onload = dothis;

