/**
 * General function
 */

function toggleDropper(id)
{
	if (div = document.getElementById(id))
	{
		div.className = (div.className == "dropper")? "dropper show" : "dropper";
		return false;
	}
	return true;
}

// For Share Story Drop Down on cxIconClick bar
function toggleDiv_cxShareStory(element){
	if (div = document.getElementById(element))
	{
		div.className = (div.className == "dropper_cxShareStory")? "dropper_cxShareStory show_cxShareStory" : "dropper_cxShareStory";
		return false;
	}
	return true;
}

function toggleDiv_cxShareStoryWide(element){
	if (div = document.getElementById(element))
	{
		div.className = (div.className == "dropper_cxShareStoryWide")? "dropper_cxShareStoryWide show_cxShareStoryWide" : "dropper_cxShareStoryWide";
		return false;
	}
	return true;
}




/**
 * Text size control
 */
 var ssize=1;
 var lsize=1;
function sizeDownText(sizeVal,domain)
{  
	if ((elements = document.getElementsByTagName("body")) && elements.length)
	{
		body = elements[0];
		size = getCurrentTextSize(body);
		if (size != sizeVal)
		{
				if(sizeVal=="textSmall"){
				if(ssize==1){
					body.className = "";
					sizeVal="default";
				}else if(ssize==2){
					body.className = "textSmall"; 
					sizeVal="textSmall";
				}
				ssize=ssize+1;
 				lsize=1;
					
				}else if(sizeVal=="textLarge"){	
					
					if(lsize==2){
					body.className = "textLarge"; 
					sizeVal="textLarge";
					}else if(lsize==1){
						body.className = "";
						sizeVal="default";
					}
					ssize=1;
 					lsize=lsize+1;	
				}
		}
		setCookie("textSizeParam",sizeVal,1,domain)
		return false;
	}
	return true;
}

function onloadTextSize(){	
	
	var textsize = getCookie("textSizeParam");	
	if(textsize=='textLarge'){
		ssize=1;
 		lsize=2;
	}else if(textsize=='textSmall'){
		ssize=2;
 		lsize=1;
	}else{
		ssize=2;
 		lsize=2;
	}
	if ((elements = document.getElementsByTagName("body")) && elements.length)
	{
		body = elements[0];
		body.className =textsize;
	}
}

//function sizeUpText()
//{
//	if ((elements = document.getElementsByTagName("body")) && elements.length)
//	{
//		body = elements[0];
//		size = getCurrentTextSize(body);
//		if (size != "large")
//		{
//			body.className = (size == "default")? "textLarge" : ""; 
//		}
//		return false;
//	}
//	return true;
//}

function getCurrentTextSize(body)
{
	if (body.className.search(/(^| )textSmall( |$)/) != -1)
	{
		return "small";
	}
	else if (body.className.search(/(^| )textLarge( |$)/) != -1)
	{
		return "large";
	}	
	return "default";
}
 
function setCookie(textsize,value,expiredays,domain)
{
	var exdate=new Date();
	exdate.setDate(exdate.getDate()+expiredays);
	document.cookie=textsize+ "=" +escape(value)+"; Path=" +escape(domain)+
	((expiredays==null) ? "" : ";expires="+exdate.toGMTString());
}

function getCookie(c_name)
{
if (document.cookie.length>0)
  {
  c_start=document.cookie.indexOf(c_name + "=");
  if (c_start!=-1)
    { 
    c_start=c_start + c_name.length+1; 
    c_end=document.cookie.indexOf(";",c_start);
    if (c_end==-1) c_end=document.cookie.length;
    return unescape(document.cookie.substring(c_start,c_end));
    } 
  }
return "";
}
/**
 * Email story to a friend
 */
 
var emailStoryContainerId = 'emailStory';

function closeEmailStory()
{
	var result = toggleDropper(emailStoryContainerId);
	if (!result && (container = document.getElementById(emailStoryContainerId)))
	{
		var url = location.href.replace(/[?#].*|$/, 
		  "?service=ajax&tool=emailStory");
		  
		AJAXCall(url, container, "GET", null);
	}	
	return result;
}

function emailStorySetError(id, error)
{
	if (tag = document.getElementById(id))
	{
		tag.className = tag.className.replace(/(\s)?error/, '');
		if (error)
		{
			tag.className = (tag.className.length != 0)? ' error' : 'error';
		}
	}
}

function onSubmitEmailStory(form)
{
	var tag;
	var error;
	var valid = true;
	var email_regex = /^[a-zA-Z][\w\.-]*[a-zA-Z0-9]@[a-zA-Z0-9][\w\.-]*[a-zA-Z0-9]\.[a-zA-Z][a-zA-Z\.]*[a-zA-Z]$/;
	var emails_regex = /^([a-zA-Z][\w\.-]*[a-zA-Z0-9]@[a-zA-Z0-9][\w\.-]*[a-zA-Z0-9]\.[a-zA-Z][a-zA-Z\.]*[a-zA-Z],\s+)*[a-zA-Z][\w\.-]*[a-zA-Z0-9]@[a-zA-Z0-9][\w\.-]*[a-zA-Z0-9]\.[a-zA-Z][a-zA-Z\.]*[a-zA-Z]$/;
	
	var emails = form.recipientEmailAddress;
	error = (emails.value.search(emails_regex) == -1);
	emailStorySetError('recipientEmailAddressLabel', error);
	valid = valid && !error;

	var name = form.yourName;
	error = (name.value.length == 0);
	emailStorySetError('yourNameLabel', error);
	valid = valid && !error;

	var email = form.yourEmailAddress;
	error = (email.value.search(email_regex) == -1);
	emailStorySetError('yourEmailAddressLabel', error);
	valid = valid && !error;
	
	if (!valid)
	{
		if (tag = document.getElementById('emailStoryErrorText'))
		{
			tag.className = "error show";
		}
		return false;
	}
	
	// all valid do AJAX Post
	if (container = document.getElementById('emailStory'))
	{
		AJAXCall(form.action + "?service=ajax&tool=emailStory", container, "POST", AJAXFormSerialize(form));
		return false;
	}
	return true;
}


